TestEIn 1.5j7 :

- nuova gestione con Controller
- aggiunti comandi di disegno.
This commit is contained in:
Dario Sassi
2014-11-05 17:35:26 +00:00
parent 9e22b7870e
commit 6a3cec0037
22 changed files with 2583 additions and 1343 deletions
+940
View File
@@ -0,0 +1,940 @@
'----------------------------------------------------------------------------
' EgalTech 2014-2014
'----------------------------------------------------------------------------
' File : Controller.vb Data : 04.11.14 Versione : 1.5k1
' Contenuto : Classe Controller (parte di MCV).
'
'
'
' Modifiche : 04.11.14 DS Creazione modulo.
'
'
'----------------------------------------------------------------------------
Imports Microsoft.VisualBasic
Imports System.Globalization
Imports TestEIn.EgtInterface
Public Class Controller
' Events
Public Enum IBT As Integer
TY_NULL = 0
TY_DOUBLE
TY_POINT3D
End Enum
Public Event SetInputBox(ByVal sTitle As String, ByVal sLabel As String, ByVal nType As IBT)
Public Event UpdateUI(ByVal sender As Object)
' Documento e vista
Private m_Scene As Scene
' Stato e comandi
Public Enum CMD As Integer
NULL = 0
NEWPART
NEWLAYER
SETCURRPARTLAYER
RESETCURRPARTLAYER
DELETEPARTLAYER
LAYERCOLOR
POINT
LINE2P
ARCCSE
ARC3P
CIRCLECR
PLANE
EXTRUDE
REVOLVE
DELETE
CHANGECOLOR
RESETCOLOR
INVERTCRVSURF
JOINCURVE
SPLITCURVE
MOVE
COPY
ROTATE
ROTATE3D
MIRROR
End Enum
Private m_nLastCmd As CMD = CMD.NULL
Private Enum EST As Integer
NULL = 0
POINT_1
LINE2P_1
LINE2P_2
CIRCLECR_1
CIRCLECR_2
ARCCSE_1
ARCCSE_2
ARCCSE_3
ARC3P_1
ARC3P_2
ARC3P_3
EXTRUDE_1
REVOLVE_1
REVOLVE_2
MOVE_1
MOVE_2
COPY_1
COPY_2
ROTATE_1
ROTATE_2
ROTATE_3
ROTATE3D_1
ROTATE3D_2
ROTATE3D_3
MIRROR_1
MIRROR_2
End Enum
Private m_nStatus As EST = EST.NULL
Private m_ptP1 As Point3d
Private m_ptP2 As Point3d
Private m_ptLast As Point3d
Private m_dLast As Double = 0
Private m_nLast1 As Integer = 0
Private m_nLast2 As Integer = 0
' Metodi
Public Sub SetScene(ByRef scene As Scene)
m_Scene = scene
End Sub
Public Sub SetLastPoint3d(ByRef ptP As Point3d)
m_ptLast = ptP
End Sub
Public Sub SetLastDouble(ByVal dVal As Double)
m_dLast = dVal
End Sub
Public Sub SetLastIntegers(ByVal nVal1 As Integer, ByVal nVal2 As Integer)
m_nLast1 = nVal1
m_nLast2 = nVal2
End Sub
Private Function GetDoubleFromString(ByRef sText As String, ByRef dVal As Double) As Boolean
Return Double.TryParse(sText, NumberStyles.Float, CultureInfo.InvariantCulture, dVal)
End Function
Private Function GetPoint3dFromString(ByRef sText As String, ByRef PtVal As Point3d) As Boolean
Dim sItems() As String = sText.Split(",".ToCharArray)
Dim bOk As Boolean = False
PtVal = Point3d.ORIG
If sItems.Count() >= 1 Then
bOk = Double.TryParse(sItems(0), NumberStyles.Float, CultureInfo.InvariantCulture, PtVal.x)
If sItems.Count() >= 2 Then
bOk = Double.TryParse(sItems(1), NumberStyles.Float, CultureInfo.InvariantCulture, PtVal.y) And bOk
If sItems.Count() >= 3 Then
bOk = Double.TryParse(sItems(2), NumberStyles.Float, CultureInfo.InvariantCulture, PtVal.z) And bOk
End If
End If
End If
Return bOk
End Function
Public Sub ResetStatus()
m_nStatus = EST.NULL
m_Scene.ResetStatus()
End Sub
Public Function RepeatLastCommand() As Boolean
Return ExecuteCommand(m_nLastCmd)
End Function
Public Function ExecuteCommand(ByVal nCmd As CMD) As Boolean
' posso partire solo con stato libero
If m_nStatus <> EST.NULL Then
Return False
End If
' eseguo il comando
Select Case nCmd
Case CMD.NEWPART
' inserisco un nuovo gruppo (piece) sotto la radice
Dim nIdNewPart As Integer = EgtCreateGroup(GDB_ID.ROOT)
' inserisco un nuovo gruppo (layer) sotto quello appena creato
Dim nIdNewLayer As Integer = EgtCreateGroup(nIdNewPart)
' se ok, salvo nuova situazione
If nIdNewPart <> GDB_ID.NULL And nIdNewLayer <> GDB_ID.NULL Then
m_nCurrPart = nIdNewPart
m_nCurrLayer = nIdNewLayer
SetModified()
End If
Case CMD.NEWLAYER
' inserisco un nuovo gruppo (layer) sotto il pezzo corrente
Dim nIdNewLayer As Integer = EgtCreateGroup(m_nCurrPart)
' se ok, salvo nuova situazione
If nIdNewLayer <> GDB_ID.NULL Then
m_nCurrLayer = nIdNewLayer
SetModified()
End If
Case CMD.SETCURRPARTLAYER
SetCurrPartLayer(m_nLast1, m_nLast2)
Case CMD.RESETCURRPARTLAYER
ResetCurrPartLayer()
Case CMD.DELETEPARTLAYER
If m_nLast1 <> GDB_ID.NULL Then
EgtErase(m_nLast1)
If m_nLast1 = m_nCurrPart Then
ResetCurrPartLayer()
ElseIf m_nLast1 = m_nCurrLayer Then
SetCurrPartLayer(m_nCurrPart, EgtGetFirstGroupInGroup(m_nCurrPart))
End If
SetModified()
End If
Case CMD.LAYERCOLOR
Dim nCurrId As Integer
If m_nCurrPart <> GDB_ID.NULL Then
nCurrId = m_nCurrPart
If m_nCurrLayer <> GDB_ID.NULL Then
nCurrId = m_nCurrLayer
End If
Else
Return False
End If
Dim ColDlg As New ColorDialog
ColDlg.AnyColor = True
Dim colObj As Color3d
EgtGetCalcColor(nCurrId, colObj)
ColDlg.Color = colObj.ToColor()
ColDlg.FullOpen = True
If ColDlg.ShowDialog() = Windows.Forms.DialogResult.OK Then
colObj.FromColor(ColDlg.Color)
EgtSetColor(nCurrId, colObj)
SetModified()
EgtDraw()
End If
Case CMD.POINT
' posso partire solo se esiste un gruppo corrente
If GetCurrLayer() = GDB_ID.NULL Then
Return False
End If
' non serve il gruppo di drag
m_Scene.SetStatusSelPoint()
' imposto stato a primo punto per point
m_nStatus = EST.POINT_1
' abilito dialogo
RaiseEvent SetInputBox("POINT", "Insert Point ", IBT.TY_POINT3D)
Case CMD.LINE2P
' posso partire solo se esiste un gruppo corrente
If GetCurrLayer() = GDB_ID.NULL Then
Return False
End If
' creo il gruppo di drag
If Not m_Scene.CreateDragGroup() Then
Return False
End If
m_Scene.SetStatusSelPoint()
' imposto stato a primo punto per Line2P
m_nStatus = EST.LINE2P_1
' abilito dialogo
RaiseEvent SetInputBox("LINE", "Insert Start Point ", IBT.TY_POINT3D)
Case CMD.CIRCLECR
' posso partire solo se esiste un gruppo corrente
If GetCurrLayer() = GDB_ID.NULL Then
Return False
End If
' creo il gruppo di drag
If Not m_Scene.CreateDragGroup() Then
Return False
End If
m_Scene.SetStatusSelPoint()
' imposto stato a primo punto per CircleCR
m_nStatus = EST.CIRCLECR_1
' abilito dialogo
RaiseEvent SetInputBox("CIRCLE", "Insert Center", IBT.TY_POINT3D)
Case CMD.ARCCSE
' posso partire solo se esiste un gruppo corrente
If GetCurrLayer() = GDB_ID.NULL Then
Return False
End If
' creo il gruppo di drag
If Not m_Scene.CreateDragGroup() Then
Return False
End If
m_Scene.SetStatusSelPoint()
' imposto stato a primo punto per ArcCSE
m_nStatus = EST.ARCCSE_1
' abilito dialogo
RaiseEvent SetInputBox("ARC", "Insert Center", IBT.TY_POINT3D)
Case CMD.ARC3P
' posso partire solo se esiste un gruppo corrente
If GetCurrLayer() = GDB_ID.NULL Then
Return False
End If
' creo il gruppo di drag
If Not m_Scene.CreateDragGroup() Then
Return False
End If
m_Scene.SetStatusSelPoint()
' imposto stato a primo punto per Arc3P
m_nStatus = EST.ARC3P_1
' abilito dialogo
RaiseEvent SetInputBox("ARC", "Insert Start Point", IBT.TY_POINT3D)
Case CMD.PLANE
' posso partire solo se esiste un gruppo corrente
If GetCurrLayer() = GDB_ID.NULL Then
Return False
End If
' creo la superficie piana (a partire da un contorno selezionato)
EgtCreateSurfTriMeshByContour(GetCurrLayer(), EgtGetFirstSelectedObj(), EPS_STM)
EgtDeselectAll()
' reset stato scena
m_Scene.ResetStatus()
' reset stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
Case CMD.EXTRUDE
' posso partire solo se esiste un gruppo corrente
If GetCurrLayer() = GDB_ID.NULL Then
Return False
End If
' creo il gruppo di drag
If Not m_Scene.CreateDragGroup() Then
Return False
End If
' imposto stato a lunghezza di estrusione
m_nStatus = EST.EXTRUDE_1
' abilito dialogo
RaiseEvent SetInputBox("EXTRUSION", "Insert length", IBT.TY_DOUBLE)
Case CMD.REVOLVE
' posso partire solo se esiste un gruppo corrente
If GetCurrLayer() = GDB_ID.NULL Then
Return False
End If
m_Scene.SetStatusSelPoint()
' imposto stato a primo punto per Revolve
m_nStatus = EST.REVOLVE_1
' abilito dialogo
RaiseEvent SetInputBox("REVOLVE", "Insert First Point on Axis", IBT.TY_POINT3D)
Case CMD.DELETE
' lancio la cancellazione
EgtErase(GDB_ID.SEL)
' reset stato scena
m_Scene.ResetStatus()
' reset stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
Case CMD.CHANGECOLOR
' verifico ci sia qualcosa di selezionato
Dim nId As Integer = EgtGetFirstSelectedObj()
If nId = GDB_ID.NULL Then
Return False
End If
' lancio dialogo scelta colore
Dim ColDlg As New ColorDialog()
ColDlg.AnyColor = True
Dim colObj As Color3d
EgtGetCalcColor(nId, colObj)
ColDlg.Color = colObj.ToColor()
ColDlg.FullOpen = True
If ColDlg.ShowDialog() <> Windows.Forms.DialogResult.OK Then
Return False
End If
' assegno nuovo colore
colObj.FromColor(ColDlg.Color)
EgtSetColor(GDB_ID.SEL, colObj)
EgtDeselectAll()
' reset stato scena
m_Scene.ResetStatus()
' reset stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
Case CMD.RESETCOLOR
' verifico ci sia qualcosa di selezionato
Dim nId As Integer = EgtGetFirstSelectedObj()
If nId = GDB_ID.NULL Then
Return False
End If
' reset colore
EgtResetColor(GDB_ID.SEL)
EgtDeselectAll()
' reset stato scena
m_Scene.ResetStatus()
' reset stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
Case CMD.INVERTCRVSURF
' lancio l'inversione delle curve/superfici
Dim nId As Integer = EgtGetFirstSelectedObj()
While nId <> GDB_ID.NULL
Select Case EgtGetType(nId)
Case TY.CRV_LINE, TY.CRV_ARC, TY.CRV_BEZ, TY.CRV_COMPO
EgtInvertCurve(nId)
Case TY.SRF_MESH
EgtInvertSurface(nId)
End Select
nId = EgtGetNextSelectedObj()
End While
EgtDeselectAll()
' reset stato scena
m_Scene.ResetStatus()
' reset stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
Case CMD.JOINCURVE
' posso partire solo se esiste un gruppo corrente
If GetCurrLayer() = GDB_ID.NULL Then
Return False
End If
' creo vettore di entità selezionate
Dim nCrvNum As Integer = 0
Dim nCrvIds(EgtGetSelectedObjNbr() - 1) As Integer
Dim nId As Integer = EgtGetFirstSelectedObj()
While nId <> GDB_ID.NULL
nCrvIds(nCrvNum) = nId
nCrvNum = nCrvNum + 1
nId = EgtGetNextSelectedObj()
End While
' creo la curva composita (concatenando le curve selezionate)
EgtCreateCurveCompoByChain(GetCurrLayer(), nCrvNum, nCrvIds, New Point3d, True)
EgtDeselectAll()
' reset stato scena
m_Scene.ResetStatus()
' reset stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
Case CMD.SPLITCURVE
' divido la curva composita nelle curve componenti
EgtSplitCurveCompo(EgtGetFirstSelectedObj())
EgtDeselectAll()
' reset stato scena
m_Scene.ResetStatus()
' reset stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
Case CMD.MOVE
' verifico condizioni e preparo per il drag
If Not PrepareTransform() Then
Return False
End If
m_Scene.SetStatusSelPoint()
' imposto stato a primo punto per Move
m_nStatus = EST.MOVE_1
' abilito dialogo
RaiseEvent SetInputBox("MOVE", "Insert Base Point", IBT.TY_POINT3D)
Case CMD.COPY
' verifico condizioni e preparo per il drag
If Not PrepareTransform() Then
Return False
End If
m_Scene.SetStatusSelPoint()
' imposto stato a primo punto per Move
m_nStatus = EST.COPY_1
' abilito dialogo
RaiseEvent SetInputBox("COPY", "Insert Base Point", IBT.TY_POINT3D)
Case CMD.ROTATE
' verifico condizioni e preparo per il drag
If Not PrepareTransform() Then
Return False
End If
m_Scene.SetStatusSelPoint()
' imposto stato a primo punto per Rotate
m_nStatus = EST.ROTATE_1
' abilito dialogo
RaiseEvent SetInputBox("ROTATE", "Insert Center", IBT.TY_POINT3D)
Case CMD.ROTATE3D
' verifico condizioni e preparo per il drag
If Not PrepareTransform() Then
Return False
End If
m_Scene.SetStatusSelPoint()
' imposto stato a primo punto per Rotate3d
m_nStatus = EST.ROTATE3D_1
' abilito dialogo
RaiseEvent SetInputBox("ROTATE3D", "Insert First Point on Axis", IBT.TY_POINT3D)
Case CMD.MIRROR
' verifico condizioni e preparo per il drag
If Not PrepareTransform() Then
Return False
End If
m_Scene.SetStatusSelPoint()
' imposto stato a primo punto per Mirror
m_nStatus = EST.MIRROR_1
' abilito dialogo
RaiseEvent SetInputBox("MIRROR", "Insert Start Point", IBT.TY_POINT3D)
Case Else
m_nLastCmd = CMD.NULL
Return False
End Select
' salvo l'ultimo comando
m_nLastCmd = nCmd
Return True
End Function
Private Function PrepareTransform() As Boolean
' posso partire solo da stato libero
If m_nStatus <> EST.NULL Then
Return False
End If
' verifico ci sia qualcosa di selezionato
If EgtGetFirstSelectedObj() = GDB_ID.NULL Then
Return False
End If
' creo il gruppo di drag e vi copio le entità selezionate
If Not m_Scene.CreateDragGroup() Then
Return False
End If
Dim nId As Integer = EgtGetFirstSelectedObj()
While nId <> GDB_ID.NULL
If Not m_Scene.AddToDragGroup(nId) Then
m_Scene.EraseDragGroup()
Return False
End If
nId = EgtGetNextSelectedObj()
End While
Return True
End Function
Public Function GoToNextStatus() As Boolean
Select Case m_nStatus
' Point
Case EST.POINT_1
' creo il punto (i dati sono in globale)
EgtCreateGeoPoint(GetCurrLayer(), m_ptLast.Loc(GetCurrLayer()))
' reset stato scena
m_Scene.ResetStatus()
' aggiorno stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
' Line2P
Case EST.LINE2P_1
m_ptP1 = m_ptLast
m_nStatus = EST.LINE2P_2
m_Scene.EnableDrag()
RaiseEvent SetInputBox("LINE", "Insert End Point ", IBT.TY_POINT3D)
Case EST.LINE2P_2
' reset scena
m_Scene.ResetStatus(False)
' creo la linea (i punti sono in globale)
EgtCreateCurveLine(GetCurrLayer(), m_ptP1.Loc(GetCurrLayer()), m_ptLast.Loc(GetCurrLayer()))
EgtDraw()
' aggiorno stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
' CircleCR
Case EST.CIRCLECR_1
m_ptP1 = m_ptLast
m_nStatus = EST.CIRCLECR_2
m_Scene.EnableDrag()
RaiseEvent SetInputBox("CIRCLE", "Insert Point", IBT.TY_POINT3D)
Case EST.CIRCLECR_2
' reset scena
m_Scene.ResetStatus(False)
' creo la circonferenza (i punti sono in globale)
EgtCreateCurveCircleCPN(GetCurrLayer(), m_ptP1.Loc(GetCurrLayer()), m_ptLast.Loc(GetCurrLayer()), EgtGetGridVersZ())
EgtDraw()
' aggiorno stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
' ArcCSE
Case EST.ARCCSE_1
m_ptP1 = m_ptLast
m_nStatus = EST.ARCCSE_2
m_Scene.EnableDrag()
RaiseEvent SetInputBox("ARC", "Insert Start Point", IBT.TY_POINT3D)
Case EST.ARCCSE_2
m_ptP2 = m_ptLast
m_nStatus = EST.ARCCSE_3
m_Scene.EnableDrag()
RaiseEvent SetInputBox("ARC", "Insert Point Near End", IBT.TY_POINT3D)
Case EST.ARCCSE_3
' reset scena
m_Scene.ResetStatus(False)
' creo l'arco (i punti sono in globale)
EgtCreateCurveArcC2PN(GetCurrLayer(), m_ptP1.Loc(GetCurrLayer()), m_ptP2.Loc(GetCurrLayer()), m_ptLast.Loc(GetCurrLayer()), EgtGetGridVersZ())
EgtDraw()
' aggiorno stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
' Arc3P
Case EST.ARC3P_1
m_ptP1 = m_ptLast
m_nStatus = EST.ARC3P_2
m_Scene.EnableDrag()
RaiseEvent SetInputBox("ARC", "Insert End Point", IBT.TY_POINT3D)
Case EST.ARC3P_2
m_ptP2 = m_ptLast
m_nStatus = EST.ARC3P_3
m_Scene.EnableDrag()
RaiseEvent SetInputBox("ARC", "Insert Mid Point", IBT.TY_POINT3D)
Case EST.ARC3P_3
' reset scena
m_Scene.ResetStatus(False)
' creo l'arco (i punti sono in globale)
EgtCreateCurveArc3P(GetCurrLayer(), m_ptP1.Loc(GetCurrLayer()), m_ptLast.Loc(GetCurrLayer()), m_ptP2.Loc(GetCurrLayer()))
EgtDraw()
' aggiorno stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
' Extrude
Case EST.EXTRUDE_1
' reset scena
m_Scene.ResetStatus(False)
' creo la superficie di estrusione (a partire da un contorno selezionato)
Dim VtExtr As New Vector3d(0, 0, m_dLast)
EgtCreateSurfTriMeshByExtrusion(GetCurrLayer(), EgtGetFirstSelectedObj(), VtExtr, EPS_STM)
EgtDeselectAll()
EgtDraw()
' aggiorno stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
' Revolve
Case EST.REVOLVE_1
m_ptP1 = m_ptLast
m_nStatus = EST.REVOLVE_2
m_Scene.EnableDrag()
RaiseEvent SetInputBox("REVOLVE", "Insert Second Point on Axis", IBT.TY_POINT3D)
Case EST.REVOLVE_2
' reset scena
m_Scene.ResetStatus(False)
' creo la superficie di rivoluzione (i punti sono in globale)
Dim vtAx As Vector3d = m_ptLast - m_ptP1
EgtCreateSurfTriMeshByScrewing(GetCurrLayer(), EgtGetFirstSelectedObj(),
m_ptP1.Loc(GetCurrLayer()), vtAx.Loc(GetCurrLayer()),
360, 0, EPS_STM)
EgtDeselectAll()
EgtDraw()
' aggiorno stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
' Move
Case EST.MOVE_1
m_ptP1 = m_ptLast
m_nStatus = EST.MOVE_2
m_Scene.EnableDrag()
RaiseEvent SetInputBox("MOVE", "Insert Target Point", IBT.TY_POINT3D)
Case EST.MOVE_2
' eseguo movimento
EgtMoveGlob(GDB_ID.SEL, (m_ptLast - m_ptP1))
EgtDeselectAll()
' reset stato scena
m_Scene.ResetStatus()
' aggiorno stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
' Copy
Case EST.COPY_1
m_ptP1 = m_ptLast
m_nStatus = EST.COPY_2
m_Scene.EnableDrag()
RaiseEvent SetInputBox("COPY", "Insert Target Point", IBT.TY_POINT3D)
Case EST.COPY_2
' reset scena
m_Scene.ResetStatus(False)
' eseguo copia e movimento
Dim nId As Integer = EgtGetFirstSelectedObj()
While nId <> GDB_ID.NULL
Dim nCopyId As Integer = EgtCopyGlob(nId, GetCurrLayer())
EgtMoveGlob(nCopyId, (m_ptLast - m_ptP1))
nId = EgtGetNextSelectedObj()
End While
EgtDeselectAll()
EgtDraw()
' aggiorno stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
' Rotate
Case EST.ROTATE_1
m_ptP1 = m_ptLast
m_nStatus = EST.ROTATE_2
m_Scene.EnableDrag()
RaiseEvent SetInputBox("ROTATE", "Insert Base Point", IBT.TY_POINT3D)
Case EST.ROTATE_2
m_ptP2 = m_ptLast
m_nStatus = EST.ROTATE_3
m_Scene.EnableDrag()
RaiseEvent SetInputBox("ROTATE", "Insert Rotation Point", IBT.TY_POINT3D)
Case EST.ROTATE_3
' eseguo rotazione
Dim dAngRotDeg As Double = 0
Dim bDet As Boolean = True
EgtGetVectorRotation((m_ptP2 - m_ptP1), (m_ptLast - m_ptP1), EgtGetGridVersZ(), dAngRotDeg, bDet)
EgtRotateGlob(GDB_ID.SEL, m_ptP1, EgtGetGridVersZ(), dAngRotDeg)
EgtDeselectAll()
' reset stato scena
m_Scene.ResetStatus()
' aggiorno stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
' Rotate3d
Case EST.ROTATE3D_1
m_ptP1 = m_ptLast
m_ptP2 = m_ptP1
m_nStatus = EST.ROTATE3D_2
m_Scene.EnableDrag()
RaiseEvent SetInputBox("ROTATE3D", "Insert Second Point on Axis", IBT.TY_POINT3D)
Case EST.ROTATE3D_2
m_ptP2 = m_ptLast
m_nStatus = EST.ROTATE3D_3
' abilito dialogo
RaiseEvent SetInputBox("ROTATE3D", "Insert angle", IBT.TY_DOUBLE)
Case EST.ROTATE3D_3
' eseguo rotazione
Dim VtAx As Vector3d = m_ptP2 - m_ptP1
EgtRotateGlob(GDB_ID.SEL, m_ptP1, VtAx, m_dLast)
EgtDeselectAll()
' reset
m_Scene.ResetStatus()
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
' Mirror
Case EST.MIRROR_1
m_ptP1 = m_ptLast
m_ptP2 = m_ptP1
m_nStatus = EST.MIRROR_2
m_Scene.EnableDrag()
RaiseEvent SetInputBox("MIRROR", "Insert End Point", IBT.TY_POINT3D)
Case EST.MIRROR_2
' eseguo mirror
Dim VtNorm As Vector3d = (m_ptLast - m_ptP1) ^ EgtGetGridVersZ()
If VtNorm.Len > EPS_SMALL Then
EgtMirrorGlob(GDB_ID.SEL, m_ptP1, VtNorm)
End If
EgtDeselectAll()
' reset stato scena
m_Scene.ResetStatus()
' aggiorno stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
Case Else
Return False
End Select
Return True
End Function
Public Function ExecuteDrag() As Boolean
Select Case m_nStatus
Case EST.LINE2P_2
' durante la creazione di oggetti il gruppo di Drag ha riferimento globale
Dim nId As Integer = EgtGetFirstInGroup(m_Scene.GetDragGroup())
If nId = GDB_ID.NULL Then
EgtCreateCurveLine(m_Scene.GetDragGroup(), m_ptP1, m_ptLast)
Else
EgtModifyCurveEndPoint(nId, m_ptLast)
End If
EgtDraw()
Case EST.CIRCLECR_2
' durante la creazione di oggetti il gruppo di Drag ha riferimento globale
' durante la creazione di oggetti il gruppo di Drag ha riferimento globale
Dim nId As Integer = EgtGetFirstInGroup(m_Scene.GetDragGroup())
If nId = GDB_ID.NULL Then
EgtCreateCurveCircleCPN(m_Scene.GetDragGroup(), m_ptP1, m_ptLast, EgtGetGridVersZ())
Else
EgtModifyCurveCircleCPN(nId, m_ptLast)
End If
EgtDraw()
Case EST.ARCCSE_2, EST.ARC3P_2
' durante la creazione di oggetti il gruppo di Drag ha riferimento globale
Dim nId As Integer = EgtGetFirstInGroup(m_Scene.GetDragGroup())
If nId = GDB_ID.NULL Then
EgtCreateCurveLine(m_Scene.GetDragGroup(), m_ptP1, m_ptLast)
Else
EgtModifyCurveEndPoint(nId, m_ptLast)
End If
EgtDraw()
Case EST.ARCCSE_3
' durante la creazione di oggetti il gruppo di Drag ha riferimento globale
Dim nId As Integer = EgtGetFirstInGroup(m_Scene.GetDragGroup())
If EgtGetType(nId) <> TY.CRV_ARC Then
EgtErase(nId)
nId = GDB_ID.NULL
End If
If nId = GDB_ID.NULL Then
EgtCreateCurveArcC2PN(m_Scene.GetDragGroup(), m_ptP1, m_ptP2, m_ptLast, EgtGetGridVersZ())
Else
EgtModifyCurveArcC2PN(nId, m_ptLast)
End If
EgtDraw()
Case EST.ARC3P_3
' durante la creazione di oggetti il gruppo di Drag ha riferimento globale
Dim nId As Integer = EgtGetFirstInGroup(m_Scene.GetDragGroup())
If EgtGetType(nId) <> TY.CRV_ARC Then
EgtErase(nId)
nId = GDB_ID.NULL
End If
If nId = GDB_ID.NULL Then
EgtCreateCurveArc3P(m_Scene.GetDragGroup(), m_ptP1, m_ptLast, m_ptP2)
Else
EgtModifyCurveArc3P(nId, m_ptLast)
End If
EgtDraw()
Case EST.EXTRUDE_1
' cancello eventuale vecchia superficie di estrusione
EgtErase(EgtGetFirstInGroup(m_Scene.GetDragGroup()))
' creo la superficie di estrusione (a partire da un contorno selezionato)
Dim VtExtr As New Vector3d(0, 0, m_dLast)
EgtCreateSurfTriMeshByExtrusion(m_Scene.GetDragGroup(), EgtGetFirstSelectedObj(), VtExtr, EPS_STM)
EgtDraw()
Case EST.REVOLVE_2
EgtSetGeoLine(m_ptP1, m_ptLast)
EgtDraw()
Case EST.MOVE_2
' ripristino lo stato iniziale
EgtChangeGroupFrame(m_Scene.GetDragGroup(), Frame3d.GLOB)
' eseguo tutto il movimento
EgtMoveGlob(m_Scene.GetDragGroup(), (m_ptLast - m_ptP1))
EgtSetGeoLine(m_ptP1, m_ptLast)
EgtDraw()
Case EST.COPY_2
' ripristino lo stato iniziale
EgtChangeGroupFrame(m_Scene.GetDragGroup(), Frame3d.GLOB)
' eseguo tutto il movimento
EgtMoveGlob(m_Scene.GetDragGroup(), (m_ptLast - m_ptP1))
EgtSetGeoLine(m_ptP1, m_ptLast)
EgtDraw()
Case EST.ROTATE_3
' ripristino lo stato iniziale
EgtChangeGroupFrame(m_Scene.GetDragGroup(), Frame3d.GLOB)
' eseguo rotazione
Dim dAngRotDeg As Double = 0
Dim bDet As Boolean = True
EgtGetVectorRotation((m_ptP2 - m_ptP1), (m_ptLast - m_ptP1), EgtGetGridVersZ(), dAngRotDeg, bDet)
EgtRotateGlob(m_Scene.GetDragGroup(), m_ptP1, EgtGetGridVersZ(), dAngRotDeg)
EgtDraw()
Case EST.ROTATE3D_2
EgtSetGeoLine(m_ptP1, m_ptLast)
EgtDraw()
Case EST.ROTATE3D_3
' ripristino lo stato iniziale
EgtChangeGroupFrame(m_Scene.GetDragGroup(), Frame3d.GLOB)
' eseguo rotazione
Dim VtAx As Vector3d = m_ptP2 - m_ptP1
EgtRotateGlob(m_Scene.GetDragGroup(), m_ptP1, VtAx, m_dLast)
EgtDraw()
Case EST.MIRROR_2
' ripristino lo stato iniziale, tramite annullo mirror precedente
Dim VtNorm As Vector3d = (m_ptP2 - m_ptP1) ^ EgtGetGridVersZ()
If VtNorm.Len > EPS_SMALL Then
EgtMirrorGlob(m_Scene.GetDragGroup(), m_ptP1, VtNorm)
End If
' eseguo mirror
VtNorm = (m_ptLast - m_ptP1) ^ EgtGetGridVersZ()
If VtNorm.Len > EPS_SMALL Then
EgtMirrorGlob(m_Scene.GetDragGroup(), m_ptP1, VtNorm)
End If
' salvo il punto
m_ptP2 = m_ptLast
EgtDraw()
Case Else
Return False
End Select
Return True
End Function
'-------------------------------- Currente Part and Layer ----------------------------------------
Private m_nCurrPart = GDB_ID.NULL
Private m_nCurrLayer = GDB_ID.NULL
Public Function GetCurrPart() As Integer
Return m_nCurrPart
End Function
Public Function GetCurrLayer() As Integer
Return m_nCurrLayer
End Function
Private Function SetCurrPartLayer(ByVal nPart As Integer, ByVal nLayer As Integer) As Boolean
' verifico esistenza
If Not EgtExistsObj(nPart) Or EgtGetParent(nLayer) <> nPart Then
Return False
End If
' assegno
m_nCurrPart = nPart
m_nCurrLayer = nLayer
Return True
End Function
Private Function ResetCurrPartLayer() As Boolean
' reset
m_nCurrPart = GDB_ID.NULL
m_nCurrLayer = GDB_ID.NULL
' cerco il primo pezzo
Dim nIdPart As Integer = EgtGetFirstGroupInGroup(GDB_ID.ROOT)
If nIdPart <> GDB_ID.NULL Then
' assegno il pezzo corrente
m_nCurrPart = nIdPart
' cerco il primo layer del pezzo
Dim nIdLayer As Integer = EgtGetFirstGroupInGroup(m_nCurrPart)
If nIdLayer <> GDB_ID.NULL Then
' assegno il layer corrente
m_nCurrLayer = nIdLayer
End If
End If
Return True
End Function
'-------------------------------- Modified Status ------------------------------------------------
Private m_sCurrFile As String = String.Empty
Private m_bModified As Boolean = False
Public Sub SetCurrFile(ByRef sFile As String)
m_sCurrFile = sFile
End Sub
Public Sub ResetCurrFile()
m_sCurrFile = String.Empty
End Sub
Public Function GetCurrFile() As String
Return m_sCurrFile
End Function
Public Sub SetModified()
m_bModified = True
End Sub
Public Sub ResetModified()
m_bModified = False
End Sub
Public Function GetModified() As Boolean
Return m_bModified
End Function
Public Function ManageModified() As Boolean
' se non modificato, procedo normalmente
If Not m_bModified Then
Return True
End If
' chiedo cosa fare
Dim sMsg As String = "Salvare le modifiche"
If Not String.IsNullOrEmpty(m_sCurrFile) Then
sMsg += " a " + m_sCurrFile
End If
sMsg += " ?"
Dim nRes = MessageBox.Show(sMsg, "", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question)
Select Case nRes
Case Windows.Forms.DialogResult.Yes
m_Scene.SaveProject(m_sCurrFile)
Return True
Case Windows.Forms.DialogResult.No
Return True
Case Else
Return False
End Select
End Function
End Class
+54 -3
View File
@@ -663,8 +663,8 @@ Public Shared Function EgtCreateCurveLine(ByVal nParentId As Integer,
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Shared Function EgtCreateCurveArc3P(ByVal nParentId As Integer,
ByRef PtStart As Point3d, ByRef PtMid As Point3d, ByRef PtEnd As Point3d) As Integer
Public Shared Function EgtCreateCurveCircleCPN(ByVal nParentId As Integer,
ByRef PtCen As Point3d, ByRef PtOn As Point3d, ByRef VtNorm As Vector3d) As Integer
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
@@ -673,10 +673,29 @@ Public Shared Function EgtCreateCurveArcC2PN(ByVal nParentId As Integer,
ByRef VtNorm As Vector3d) As Integer
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Shared Function EgtCreateCurveArc3P(ByVal nParentId As Integer,
ByRef PtStart As Point3d, ByRef PtMid As Point3d, ByRef PtEnd As Point3d) As Integer
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Shared Function EgtCreateCurveCompoByChain(ByVal nParentId As Integer, ByVal nNumCrv As Integer, ByVal nCrvId() As Integer, ByRef PtNearStart As Point3d, ByVal bCrvErase As Boolean) As Integer
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Shared Function EgtCreateSurfTriMeshByContour(ByVal nParentId As Integer, ByVal nCrvId As Integer, ByVal dLinTol As Double) As Integer
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Shared Function EgtCreateSurfTriMeshByExtrusion(ByVal nParentId As Integer, ByVal nCrvId As Integer, ByRef VtExtr As Vector3d, ByVal dLinTol As Double) As Integer
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Shared Function EgtCreateSurfTriMeshByScrewing(ByVal nParentId As Integer, ByVal nCrvId As Integer,
ByRef PtAx As Point3d, ByRef VtAx As Vector3d,
ByVal dAngRotDeg As Double, ByVal dMove As Double, ByVal dLinTol As Double) As Integer
End Function
'---------- GeomDb Objects Modify ----------------------------------------------
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Private Shared Function EgtChangeGroupFrame(ByVal nId As Integer,
@@ -686,6 +705,10 @@ Public Shared Function EgtChangeGroupFrame(ByVal nId As Integer, ByRef frRef As
Return EgtChangeGroupFrame(nId, frRef.Orig(), frRef.VersX(), frRef.VersY(), frRef.VersZ())
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Shared Function EgtInvertSurface(ByVal nId As Integer) As Boolean
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Shared Function EgtFlipText(ByVal nId As Integer) As Boolean
End Function
@@ -705,13 +728,21 @@ Public Shared Function EgtModifyCurveEndPoint(ByVal nId As Integer, ByRef PtEnd
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Shared Function EgtModifyCurveArc3P(ByVal nId As Integer, ByRef PtMid As Point3d) As Boolean
Public Shared Function EgtModifyCurveCircleCPN(ByVal nId As Integer, ByRef PtOn As Point3d) As Boolean
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Shared Function EgtModifyCurveArcC2PN(ByVal nId As Integer, ByRef PtEnd As Point3d) As Boolean
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Shared Function EgtModifyCurveArc3P(ByVal nId As Integer, ByRef PtMid As Point3d) As Boolean
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Shared Function EgtSplitCurveCompo(ByVal nId As Integer) As Boolean
End Function
'---------- GeomDb Objects -----------------------------------------------------
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
@@ -909,6 +940,10 @@ End Function
Public Shared Function EgtSetColor(ByVal nId As Integer, ByRef ColObj As Color3d) As Boolean
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Shared Function EgtResetColor(ByVal nId As Integer) As Boolean
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Shared Function EgtGetColor(ByVal nId As Integer, ByRef ColObj As Color3d) As Boolean
End Function
@@ -981,6 +1016,10 @@ End Function
Public Shared Function EgtIsSelectedObj(ByVal nId As Integer) As Boolean
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Shared Function EgtGetSelectedObjNbr() As Integer
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Shared Function EgtGetFirstSelectedObj() As Integer
End Function
@@ -1200,6 +1239,17 @@ Public Shared Function EgtGetGraphicSnapPoint(ByVal nSnap As Integer,
Return EgtGetGraphicSnapPoint(nSnap, PtWin.X, PtWin.Y, nSelW, nSelH, ptP)
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Private Shared Function EgtGetGridSnapPointZ(ByVal bSketch As Boolean,
ByVal nWinX As Integer, ByVal nWinY As Integer, ByRef ptGrid As Point3d,
ByRef ptP As Point3d) As Boolean
End Function
Public Shared Function EgtGetGridSnapPointZ(ByVal bSketch As Boolean,
ByVal PtWin As Point, ByVal ptGrid As Point3d,
ByRef ptP As Point3d) As Boolean
Return EgtGetGridSnapPointZ(bSketch, PtWin.X, PtWin.Y, ptGrid, ptP)
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Shared Function EgtSetShowMode(ByVal nShowMode As SM, Optional ByVal bRedraw As Boolean = True) As Boolean
End Function
@@ -1324,6 +1374,7 @@ End Function
'Costanti : GEOMETRIA
Public Const EPS_SMALL As Double = 0.001
Public Const EPS_ZERO As Double = 0.0000001
Public Const EPS_STM As Double = 0.05
'Costanti : TIPO DI FILE
Public Enum FT As Integer
NULL = 0
+248 -64
View File
@@ -73,15 +73,26 @@ Partial Class Form1
Me.btnNewLayer = New System.Windows.Forms.Button()
Me.txtPartLay = New System.Windows.Forms.TextBox()
Me.btnNewPart = New System.Windows.Forms.Button()
Me.InputBox = New System.Windows.Forms.GroupBox()
Me.InputCheck = New System.Windows.Forms.CheckBox()
Me.InputText = New System.Windows.Forms.TextBox()
Me.InputLabel = New System.Windows.Forms.Label()
Me.TabControl2 = New System.Windows.Forms.TabControl()
Me.TabDraw = New System.Windows.Forms.TabPage()
Me.btnCircleCR = New System.Windows.Forms.Button()
Me.btnArc3P = New System.Windows.Forms.Button()
Me.btnArcCSE = New System.Windows.Forms.Button()
Me.btnPoint = New System.Windows.Forms.Button()
Me.btnLine2P = New System.Windows.Forms.Button()
Me.TabConstruct = New System.Windows.Forms.TabPage()
Me.btnRevolve = New System.Windows.Forms.Button()
Me.btnExtrude = New System.Windows.Forms.Button()
Me.btnPlane = New System.Windows.Forms.Button()
Me.TabEdit = New System.Windows.Forms.TabPage()
Me.btnChangeColor = New System.Windows.Forms.Button()
Me.btnSplitCurve = New System.Windows.Forms.Button()
Me.btnJoinCurve = New System.Windows.Forms.Button()
Me.btnInvertCurve = New System.Windows.Forms.Button()
Me.btnDelete = New System.Windows.Forms.Button()
Me.TabTransform = New System.Windows.Forms.TabPage()
Me.btnMirror = New System.Windows.Forms.Button()
@@ -98,7 +109,6 @@ Partial Class Form1
Me.ObjTreeTimer = New System.Windows.Forms.Timer(Me.components)
Me.ColorDialog1 = New System.Windows.Forms.ColorDialog()
Me.Scene1 = New TestEIn.Scene()
Me.btnInvertCurve = New System.Windows.Forms.Button()
Me.TableLayoutPanel1.SuspendLayout()
Me.StatusStrip1.SuspendLayout()
Me.TabControl1.SuspendLayout()
@@ -110,6 +120,7 @@ Partial Class Form1
CType(Me.PictureBox3, System.ComponentModel.ISupportInitialize).BeginInit()
Me.TableLayoutPanel3.SuspendLayout()
Me.Panel1.SuspendLayout()
Me.InputBox.SuspendLayout()
Me.TabControl2.SuspendLayout()
Me.TabDraw.SuspendLayout()
Me.TabConstruct.SuspendLayout()
@@ -231,7 +242,7 @@ Partial Class Form1
Me.btnSaveAs.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnSaveAs.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnSaveAs.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnSaveAs.Image = Global.TestEIn.My.Resources.Resources.SaveAs
Me.btnSaveAs.Image = CType(resources.GetObject("btnSaveAs.Image"), System.Drawing.Image)
Me.btnSaveAs.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnSaveAs.Location = New System.Drawing.Point(168, 0)
Me.btnSaveAs.Margin = New System.Windows.Forms.Padding(2)
@@ -258,7 +269,7 @@ Partial Class Form1
Me.btnNew.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnNew.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnNew.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnNew.Image = Global.TestEIn.My.Resources.Resources._New
Me.btnNew.Image = CType(resources.GetObject("btnNew.Image"), System.Drawing.Image)
Me.btnNew.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnNew.Location = New System.Drawing.Point(0, 0)
Me.btnNew.Margin = New System.Windows.Forms.Padding(2)
@@ -295,7 +306,7 @@ Partial Class Form1
Me.btnSave.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnSave.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnSave.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnSave.Image = Global.TestEIn.My.Resources.Resources.Save
Me.btnSave.Image = CType(resources.GetObject("btnSave.Image"), System.Drawing.Image)
Me.btnSave.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnSave.Location = New System.Drawing.Point(112, 0)
Me.btnSave.Margin = New System.Windows.Forms.Padding(2)
@@ -313,7 +324,7 @@ Partial Class Form1
Me.btnImport.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnImport.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnImport.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnImport.Image = Global.TestEIn.My.Resources.Resources.Import
Me.btnImport.Image = CType(resources.GetObject("btnImport.Image"), System.Drawing.Image)
Me.btnImport.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnImport.Location = New System.Drawing.Point(224, 0)
Me.btnImport.Name = "btnImport"
@@ -330,7 +341,7 @@ Partial Class Form1
Me.btnExport.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnExport.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnExport.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnExport.Image = Global.TestEIn.My.Resources.Resources.Export
Me.btnExport.Image = CType(resources.GetObject("btnExport.Image"), System.Drawing.Image)
Me.btnExport.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnExport.Location = New System.Drawing.Point(280, 0)
Me.btnExport.Name = "btnExport"
@@ -347,7 +358,7 @@ Partial Class Form1
Me.btnExec.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnExec.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnExec.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnExec.Image = Global.TestEIn.My.Resources.Resources.Exec
Me.btnExec.Image = CType(resources.GetObject("btnExec.Image"), System.Drawing.Image)
Me.btnExec.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnExec.Location = New System.Drawing.Point(340, 0)
Me.btnExec.Name = "btnExec"
@@ -395,7 +406,7 @@ Partial Class Form1
Me.btnIsoNW.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnIsoNW.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnIsoNW.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnIsoNW.Image = Global.TestEIn.My.Resources.Resources.LookFromISO_NW
Me.btnIsoNW.Image = CType(resources.GetObject("btnIsoNW.Image"), System.Drawing.Image)
Me.btnIsoNW.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnIsoNW.Location = New System.Drawing.Point(796, 0)
Me.btnIsoNW.Name = "btnIsoNW"
@@ -412,7 +423,7 @@ Partial Class Form1
Me.btnIsoNE.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnIsoNE.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnIsoNE.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnIsoNE.Image = Global.TestEIn.My.Resources.Resources.LookFromISO_NE
Me.btnIsoNE.Image = CType(resources.GetObject("btnIsoNE.Image"), System.Drawing.Image)
Me.btnIsoNE.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnIsoNE.Location = New System.Drawing.Point(740, 0)
Me.btnIsoNE.Name = "btnIsoNE"
@@ -429,7 +440,7 @@ Partial Class Form1
Me.btnIsoSE.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnIsoSE.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnIsoSE.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnIsoSE.Image = Global.TestEIn.My.Resources.Resources.LookFromISO_SE
Me.btnIsoSE.Image = CType(resources.GetObject("btnIsoSE.Image"), System.Drawing.Image)
Me.btnIsoSE.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnIsoSE.Location = New System.Drawing.Point(684, 0)
Me.btnIsoSE.Name = "btnIsoSE"
@@ -448,7 +459,7 @@ Partial Class Form1
Me.chkGetDist.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.chkGetDist.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.chkGetDist.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkGetDist.Image = Global.TestEIn.My.Resources.Resources.GetDist
Me.chkGetDist.Image = CType(resources.GetObject("chkGetDist.Image"), System.Drawing.Image)
Me.chkGetDist.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.chkGetDist.Location = New System.Drawing.Point(968, 0)
Me.chkGetDist.Name = "chkGetDist"
@@ -467,7 +478,7 @@ Partial Class Form1
Me.chkAnalyze.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.chkAnalyze.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.chkAnalyze.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkAnalyze.Image = Global.TestEIn.My.Resources.Resources.Analyze
Me.chkAnalyze.Image = CType(resources.GetObject("chkAnalyze.Image"), System.Drawing.Image)
Me.chkAnalyze.Location = New System.Drawing.Point(912, 0)
Me.chkAnalyze.Name = "chkAnalyze"
Me.chkAnalyze.Size = New System.Drawing.Size(56, 48)
@@ -503,7 +514,7 @@ Partial Class Form1
Me.chkCurveDir.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.chkCurveDir.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.chkCurveDir.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkCurveDir.Image = Global.TestEIn.My.Resources.Resources.CurveDir
Me.chkCurveDir.Image = CType(resources.GetObject("chkCurveDir.Image"), System.Drawing.Image)
Me.chkCurveDir.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.chkCurveDir.Location = New System.Drawing.Point(856, 0)
Me.chkCurveDir.Name = "chkCurveDir"
@@ -531,7 +542,7 @@ Partial Class Form1
Me.rbtShading.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.rbtShading.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.rbtShading.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.rbtShading.Image = Global.TestEIn.My.Resources.Resources.RenderingSH
Me.rbtShading.Image = CType(resources.GetObject("rbtShading.Image"), System.Drawing.Image)
Me.rbtShading.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.rbtShading.Location = New System.Drawing.Point(112, 0)
Me.rbtShading.Name = "rbtShading"
@@ -552,7 +563,7 @@ Partial Class Form1
Me.rbtWireFrame.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.rbtWireFrame.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.rbtWireFrame.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.rbtWireFrame.Image = Global.TestEIn.My.Resources.Resources.RenderingWF
Me.rbtWireFrame.Image = CType(resources.GetObject("rbtWireFrame.Image"), System.Drawing.Image)
Me.rbtWireFrame.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.rbtWireFrame.Location = New System.Drawing.Point(0, 0)
Me.rbtWireFrame.Name = "rbtWireFrame"
@@ -572,7 +583,7 @@ Partial Class Form1
Me.rbtHiddenLine.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.rbtHiddenLine.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.rbtHiddenLine.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.rbtHiddenLine.Image = Global.TestEIn.My.Resources.Resources.RenderingHL
Me.rbtHiddenLine.Image = CType(resources.GetObject("rbtHiddenLine.Image"), System.Drawing.Image)
Me.rbtHiddenLine.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.rbtHiddenLine.Location = New System.Drawing.Point(56, 0)
Me.rbtHiddenLine.Name = "rbtHiddenLine"
@@ -590,7 +601,7 @@ Partial Class Form1
Me.btnZoomOut.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnZoomOut.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnZoomOut.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnZoomOut.Image = Global.TestEIn.My.Resources.Resources.ZoomOut
Me.btnZoomOut.Image = CType(resources.GetObject("btnZoomOut.Image"), System.Drawing.Image)
Me.btnZoomOut.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnZoomOut.Location = New System.Drawing.Point(284, 0)
Me.btnZoomOut.Name = "btnZoomOut"
@@ -607,7 +618,7 @@ Partial Class Form1
Me.btnIsoSW.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnIsoSW.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnIsoSW.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnIsoSW.Image = Global.TestEIn.My.Resources.Resources.LookFromISO_SW
Me.btnIsoSW.Image = CType(resources.GetObject("btnIsoSW.Image"), System.Drawing.Image)
Me.btnIsoSW.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnIsoSW.Location = New System.Drawing.Point(628, 0)
Me.btnIsoSW.Name = "btnIsoSW"
@@ -624,7 +635,7 @@ Partial Class Form1
Me.btnBack.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnBack.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnBack.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnBack.Image = Global.TestEIn.My.Resources.Resources.LookFromBACK
Me.btnBack.Image = CType(resources.GetObject("btnBack.Image"), System.Drawing.Image)
Me.btnBack.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnBack.Location = New System.Drawing.Point(516, 0)
Me.btnBack.Name = "btnBack"
@@ -641,7 +652,7 @@ Partial Class Form1
Me.btnRight.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnRight.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnRight.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnRight.Image = Global.TestEIn.My.Resources.Resources.LookFromRIGHT
Me.btnRight.Image = CType(resources.GetObject("btnRight.Image"), System.Drawing.Image)
Me.btnRight.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnRight.Location = New System.Drawing.Point(460, 0)
Me.btnRight.Name = "btnRight"
@@ -658,7 +669,7 @@ Partial Class Form1
Me.btnLeft.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnLeft.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnLeft.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnLeft.Image = Global.TestEIn.My.Resources.Resources.LookFromLEFT
Me.btnLeft.Image = CType(resources.GetObject("btnLeft.Image"), System.Drawing.Image)
Me.btnLeft.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnLeft.Location = New System.Drawing.Point(572, 0)
Me.btnLeft.Name = "btnLeft"
@@ -675,7 +686,7 @@ Partial Class Form1
Me.btnZoomAll.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnZoomAll.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnZoomAll.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnZoomAll.Image = Global.TestEIn.My.Resources.Resources.ZoomAll
Me.btnZoomAll.Image = CType(resources.GetObject("btnZoomAll.Image"), System.Drawing.Image)
Me.btnZoomAll.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnZoomAll.Location = New System.Drawing.Point(172, 0)
Me.btnZoomAll.Name = "btnZoomAll"
@@ -692,7 +703,7 @@ Partial Class Form1
Me.btnFront.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnFront.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnFront.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnFront.Image = Global.TestEIn.My.Resources.Resources.LookFromFRONT
Me.btnFront.Image = CType(resources.GetObject("btnFront.Image"), System.Drawing.Image)
Me.btnFront.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnFront.Location = New System.Drawing.Point(404, 0)
Me.btnFront.Name = "btnFront"
@@ -709,7 +720,7 @@ Partial Class Form1
Me.btnZoomIn.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnZoomIn.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnZoomIn.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnZoomIn.Image = Global.TestEIn.My.Resources.Resources.ZoomIn
Me.btnZoomIn.Image = CType(resources.GetObject("btnZoomIn.Image"), System.Drawing.Image)
Me.btnZoomIn.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnZoomIn.Location = New System.Drawing.Point(228, 0)
Me.btnZoomIn.Name = "btnZoomIn"
@@ -726,7 +737,7 @@ Partial Class Form1
Me.btnTop.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnTop.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnTop.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnTop.Image = Global.TestEIn.My.Resources.Resources.LookFromTOP
Me.btnTop.Image = CType(resources.GetObject("btnTop.Image"), System.Drawing.Image)
Me.btnTop.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnTop.Location = New System.Drawing.Point(348, 0)
Me.btnTop.Name = "btnTop"
@@ -741,17 +752,19 @@ Partial Class Form1
Me.TableLayoutPanel3.ColumnCount = 1
Me.TableLayoutPanel3.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
Me.TableLayoutPanel3.Controls.Add(Me.tBoxInfo, 0, 2)
Me.TableLayoutPanel3.Controls.Add(Me.tboxCmd, 0, 3)
Me.TableLayoutPanel3.Controls.Add(Me.tboxCmd, 0, 4)
Me.TableLayoutPanel3.Controls.Add(Me.TreeView1, 0, 1)
Me.TableLayoutPanel3.Controls.Add(Me.Panel1, 0, 0)
Me.TableLayoutPanel3.Controls.Add(Me.InputBox, 0, 3)
Me.TableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill
Me.TableLayoutPanel3.Location = New System.Drawing.Point(853, 83)
Me.TableLayoutPanel3.Name = "TableLayoutPanel3"
Me.TableLayoutPanel3.RowCount = 4
Me.TableLayoutPanel3.RowCount = 5
Me.TableLayoutPanel3.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 50.0!))
Me.TableLayoutPanel3.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 70.0!))
Me.TableLayoutPanel3.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 30.0!))
Me.TableLayoutPanel3.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 140.0!))
Me.TableLayoutPanel3.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 50.0!))
Me.TableLayoutPanel3.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 60.0!))
Me.TableLayoutPanel3.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 40.0!))
Me.TableLayoutPanel3.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 80.0!))
Me.TableLayoutPanel3.Size = New System.Drawing.Size(200, 425)
Me.TableLayoutPanel3.TabIndex = 9
'
@@ -759,22 +772,23 @@ Partial Class Form1
'
Me.tBoxInfo.BackColor = System.Drawing.SystemColors.ControlLightLight
Me.tBoxInfo.Dock = System.Windows.Forms.DockStyle.Fill
Me.tBoxInfo.Location = New System.Drawing.Point(3, 230)
Me.tBoxInfo.Location = New System.Drawing.Point(3, 180)
Me.tBoxInfo.Margin = New System.Windows.Forms.Padding(3, 1, 3, 3)
Me.tBoxInfo.Multiline = True
Me.tBoxInfo.Name = "tBoxInfo"
Me.tBoxInfo.ReadOnly = True
Me.tBoxInfo.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
Me.tBoxInfo.Size = New System.Drawing.Size(194, 112)
Me.tBoxInfo.Size = New System.Drawing.Size(194, 51)
Me.tBoxInfo.TabIndex = 24
'
'tboxCmd
'
Me.tboxCmd.Dock = System.Windows.Forms.DockStyle.Fill
Me.tboxCmd.Location = New System.Drawing.Point(3, 348)
Me.tboxCmd.Location = New System.Drawing.Point(3, 377)
Me.tboxCmd.Multiline = True
Me.tboxCmd.Name = "tboxCmd"
Me.tboxCmd.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
Me.tboxCmd.Size = New System.Drawing.Size(194, 74)
Me.tboxCmd.Size = New System.Drawing.Size(194, 45)
Me.tboxCmd.TabIndex = 23
'
'TreeView1
@@ -785,9 +799,10 @@ Partial Class Form1
Me.TreeView1.ImageIndex = 0
Me.TreeView1.ImageList = Me.ImageList1
Me.TreeView1.Location = New System.Drawing.Point(3, 53)
Me.TreeView1.Margin = New System.Windows.Forms.Padding(3, 3, 3, 0)
Me.TreeView1.Name = "TreeView1"
Me.TreeView1.SelectedImageIndex = 0
Me.TreeView1.Size = New System.Drawing.Size(194, 171)
Me.TreeView1.Size = New System.Drawing.Size(194, 126)
Me.TreeView1.TabIndex = 0
'
'ImageList1
@@ -871,6 +886,51 @@ Partial Class Form1
Me.btnNewPart.Text = "New Part"
Me.btnNewPart.UseVisualStyleBackColor = True
'
'InputBox
'
Me.InputBox.AutoSize = True
Me.InputBox.Controls.Add(Me.InputCheck)
Me.InputBox.Controls.Add(Me.InputText)
Me.InputBox.Controls.Add(Me.InputLabel)
Me.InputBox.Dock = System.Windows.Forms.DockStyle.Fill
Me.InputBox.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.InputBox.Location = New System.Drawing.Point(3, 237)
Me.InputBox.Name = "InputBox"
Me.InputBox.Size = New System.Drawing.Size(194, 134)
Me.InputBox.TabIndex = 26
Me.InputBox.TabStop = False
'
'InputCheck
'
Me.InputCheck.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.InputCheck.Location = New System.Drawing.Point(6, 85)
Me.InputCheck.Name = "InputCheck"
Me.InputCheck.Size = New System.Drawing.Size(184, 26)
Me.InputCheck.TabIndex = 2
Me.InputCheck.Text = "CheckBox1"
Me.InputCheck.UseVisualStyleBackColor = True
Me.InputCheck.Visible = False
'
'InputText
'
Me.InputText.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.InputText.Location = New System.Drawing.Point(3, 50)
Me.InputText.MinimumSize = New System.Drawing.Size(188, 26)
Me.InputText.Name = "InputText"
Me.InputText.Size = New System.Drawing.Size(188, 23)
Me.InputText.TabIndex = 1
Me.InputText.Visible = False
'
'InputLabel
'
Me.InputLabel.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.InputLabel.Location = New System.Drawing.Point(4, 19)
Me.InputLabel.Name = "InputLabel"
Me.InputLabel.Size = New System.Drawing.Size(188, 23)
Me.InputLabel.TabIndex = 0
Me.InputLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
Me.InputLabel.Visible = False
'
'TabControl2
'
Me.TabControl2.Alignment = System.Windows.Forms.TabAlignment.Left
@@ -891,6 +951,7 @@ Partial Class Form1
'TabDraw
'
Me.TabDraw.BackColor = System.Drawing.SystemColors.Control
Me.TabDraw.Controls.Add(Me.btnCircleCR)
Me.TabDraw.Controls.Add(Me.btnArc3P)
Me.TabDraw.Controls.Add(Me.btnArcCSE)
Me.TabDraw.Controls.Add(Me.btnPoint)
@@ -902,6 +963,23 @@ Partial Class Form1
Me.TabDraw.TabIndex = 0
Me.TabDraw.Text = "Draw"
'
'btnCircleCR
'
Me.btnCircleCR.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
Me.btnCircleCR.FlatAppearance.BorderSize = 0
Me.btnCircleCR.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnCircleCR.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnCircleCR.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnCircleCR.Image = CType(resources.GetObject("btnCircleCR.Image"), System.Drawing.Image)
Me.btnCircleCR.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnCircleCR.Location = New System.Drawing.Point(0, 96)
Me.btnCircleCR.Name = "btnCircleCR"
Me.btnCircleCR.Size = New System.Drawing.Size(56, 48)
Me.btnCircleCR.TabIndex = 34
Me.btnCircleCR.Text = "Circle cr"
Me.btnCircleCR.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnCircleCR.UseVisualStyleBackColor = False
'
'btnArc3P
'
Me.btnArc3P.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
@@ -909,9 +987,9 @@ Partial Class Form1
Me.btnArc3P.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnArc3P.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnArc3P.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnArc3P.Image = Global.TestEIn.My.Resources.Resources.Arc3P
Me.btnArc3P.Image = CType(resources.GetObject("btnArc3P.Image"), System.Drawing.Image)
Me.btnArc3P.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnArc3P.Location = New System.Drawing.Point(0, 144)
Me.btnArc3P.Location = New System.Drawing.Point(0, 192)
Me.btnArc3P.Name = "btnArc3P"
Me.btnArc3P.Size = New System.Drawing.Size(56, 48)
Me.btnArc3P.TabIndex = 33
@@ -926,9 +1004,9 @@ Partial Class Form1
Me.btnArcCSE.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnArcCSE.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnArcCSE.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnArcCSE.Image = Global.TestEIn.My.Resources.Resources.ArcCSE
Me.btnArcCSE.Image = CType(resources.GetObject("btnArcCSE.Image"), System.Drawing.Image)
Me.btnArcCSE.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnArcCSE.Location = New System.Drawing.Point(0, 96)
Me.btnArcCSE.Location = New System.Drawing.Point(0, 144)
Me.btnArcCSE.Name = "btnArcCSE"
Me.btnArcCSE.Size = New System.Drawing.Size(56, 48)
Me.btnArcCSE.TabIndex = 32
@@ -943,7 +1021,7 @@ Partial Class Form1
Me.btnPoint.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnPoint.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnPoint.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnPoint.Image = Global.TestEIn.My.Resources.Resources.Point
Me.btnPoint.Image = CType(resources.GetObject("btnPoint.Image"), System.Drawing.Image)
Me.btnPoint.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnPoint.Location = New System.Drawing.Point(0, 0)
Me.btnPoint.Name = "btnPoint"
@@ -960,7 +1038,7 @@ Partial Class Form1
Me.btnLine2P.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnLine2P.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnLine2P.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnLine2P.Image = Global.TestEIn.My.Resources.Resources.Line2P
Me.btnLine2P.Image = CType(resources.GetObject("btnLine2P.Image"), System.Drawing.Image)
Me.btnLine2P.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnLine2P.Location = New System.Drawing.Point(0, 48)
Me.btnLine2P.Name = "btnLine2P"
@@ -973,6 +1051,8 @@ Partial Class Form1
'TabConstruct
'
Me.TabConstruct.BackColor = System.Drawing.SystemColors.Control
Me.TabConstruct.Controls.Add(Me.btnRevolve)
Me.TabConstruct.Controls.Add(Me.btnExtrude)
Me.TabConstruct.Controls.Add(Me.btnPlane)
Me.TabConstruct.Location = New System.Drawing.Point(23, 4)
Me.TabConstruct.Name = "TabConstruct"
@@ -980,6 +1060,40 @@ Partial Class Form1
Me.TabConstruct.TabIndex = 4
Me.TabConstruct.Text = "Construct"
'
'btnRevolve
'
Me.btnRevolve.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
Me.btnRevolve.FlatAppearance.BorderSize = 0
Me.btnRevolve.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnRevolve.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnRevolve.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnRevolve.Image = CType(resources.GetObject("btnRevolve.Image"), System.Drawing.Image)
Me.btnRevolve.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnRevolve.Location = New System.Drawing.Point(0, 96)
Me.btnRevolve.Name = "btnRevolve"
Me.btnRevolve.Size = New System.Drawing.Size(56, 48)
Me.btnRevolve.TabIndex = 35
Me.btnRevolve.Text = "Revolve"
Me.btnRevolve.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnRevolve.UseVisualStyleBackColor = False
'
'btnExtrude
'
Me.btnExtrude.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
Me.btnExtrude.FlatAppearance.BorderSize = 0
Me.btnExtrude.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnExtrude.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnExtrude.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnExtrude.Image = CType(resources.GetObject("btnExtrude.Image"), System.Drawing.Image)
Me.btnExtrude.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnExtrude.Location = New System.Drawing.Point(0, 48)
Me.btnExtrude.Name = "btnExtrude"
Me.btnExtrude.Size = New System.Drawing.Size(56, 48)
Me.btnExtrude.TabIndex = 34
Me.btnExtrude.Text = "Extrude"
Me.btnExtrude.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnExtrude.UseVisualStyleBackColor = False
'
'btnPlane
'
Me.btnPlane.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
@@ -987,7 +1101,7 @@ Partial Class Form1
Me.btnPlane.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnPlane.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnPlane.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnPlane.Image = Global.TestEIn.My.Resources.Resources.Plane
Me.btnPlane.Image = CType(resources.GetObject("btnPlane.Image"), System.Drawing.Image)
Me.btnPlane.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnPlane.Location = New System.Drawing.Point(0, 0)
Me.btnPlane.Name = "btnPlane"
@@ -1000,6 +1114,9 @@ Partial Class Form1
'TabEdit
'
Me.TabEdit.BackColor = System.Drawing.SystemColors.Control
Me.TabEdit.Controls.Add(Me.btnChangeColor)
Me.TabEdit.Controls.Add(Me.btnSplitCurve)
Me.TabEdit.Controls.Add(Me.btnJoinCurve)
Me.TabEdit.Controls.Add(Me.btnInvertCurve)
Me.TabEdit.Controls.Add(Me.btnDelete)
Me.TabEdit.Location = New System.Drawing.Point(23, 4)
@@ -1008,6 +1125,74 @@ Partial Class Form1
Me.TabEdit.TabIndex = 3
Me.TabEdit.Text = "Edit"
'
'btnChangeColor
'
Me.btnChangeColor.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
Me.btnChangeColor.FlatAppearance.BorderSize = 0
Me.btnChangeColor.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnChangeColor.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnChangeColor.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnChangeColor.Image = CType(resources.GetObject("btnChangeColor.Image"), System.Drawing.Image)
Me.btnChangeColor.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnChangeColor.Location = New System.Drawing.Point(0, 48)
Me.btnChangeColor.Name = "btnChangeColor"
Me.btnChangeColor.Size = New System.Drawing.Size(56, 48)
Me.btnChangeColor.TabIndex = 37
Me.btnChangeColor.Text = "Color"
Me.btnChangeColor.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnChangeColor.UseVisualStyleBackColor = False
'
'btnSplitCurve
'
Me.btnSplitCurve.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
Me.btnSplitCurve.FlatAppearance.BorderSize = 0
Me.btnSplitCurve.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnSplitCurve.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnSplitCurve.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnSplitCurve.Image = CType(resources.GetObject("btnSplitCurve.Image"), System.Drawing.Image)
Me.btnSplitCurve.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnSplitCurve.Location = New System.Drawing.Point(0, 192)
Me.btnSplitCurve.Name = "btnSplitCurve"
Me.btnSplitCurve.Size = New System.Drawing.Size(56, 48)
Me.btnSplitCurve.TabIndex = 36
Me.btnSplitCurve.Text = "Split"
Me.btnSplitCurve.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnSplitCurve.UseVisualStyleBackColor = False
'
'btnJoinCurve
'
Me.btnJoinCurve.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
Me.btnJoinCurve.FlatAppearance.BorderSize = 0
Me.btnJoinCurve.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnJoinCurve.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnJoinCurve.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnJoinCurve.Image = CType(resources.GetObject("btnJoinCurve.Image"), System.Drawing.Image)
Me.btnJoinCurve.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnJoinCurve.Location = New System.Drawing.Point(0, 144)
Me.btnJoinCurve.Name = "btnJoinCurve"
Me.btnJoinCurve.Size = New System.Drawing.Size(56, 48)
Me.btnJoinCurve.TabIndex = 35
Me.btnJoinCurve.Text = "Join"
Me.btnJoinCurve.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnJoinCurve.UseVisualStyleBackColor = False
'
'btnInvertCurve
'
Me.btnInvertCurve.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
Me.btnInvertCurve.FlatAppearance.BorderSize = 0
Me.btnInvertCurve.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnInvertCurve.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnInvertCurve.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnInvertCurve.Image = CType(resources.GetObject("btnInvertCurve.Image"), System.Drawing.Image)
Me.btnInvertCurve.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnInvertCurve.Location = New System.Drawing.Point(0, 96)
Me.btnInvertCurve.Name = "btnInvertCurve"
Me.btnInvertCurve.Size = New System.Drawing.Size(56, 48)
Me.btnInvertCurve.TabIndex = 31
Me.btnInvertCurve.Text = "Invert"
Me.btnInvertCurve.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnInvertCurve.UseVisualStyleBackColor = False
'
'btnDelete
'
Me.btnDelete.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
@@ -1015,7 +1200,7 @@ Partial Class Form1
Me.btnDelete.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnDelete.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnDelete.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnDelete.Image = Global.TestEIn.My.Resources.Resources.Delete
Me.btnDelete.Image = CType(resources.GetObject("btnDelete.Image"), System.Drawing.Image)
Me.btnDelete.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnDelete.Location = New System.Drawing.Point(0, 0)
Me.btnDelete.Name = "btnDelete"
@@ -1045,7 +1230,7 @@ Partial Class Form1
Me.btnMirror.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnMirror.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnMirror.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnMirror.Image = Global.TestEIn.My.Resources.Resources.Mirror
Me.btnMirror.Image = CType(resources.GetObject("btnMirror.Image"), System.Drawing.Image)
Me.btnMirror.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnMirror.Location = New System.Drawing.Point(0, 144)
Me.btnMirror.Name = "btnMirror"
@@ -1062,7 +1247,7 @@ Partial Class Form1
Me.btnCopy.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnCopy.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnCopy.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnCopy.Image = Global.TestEIn.My.Resources.Resources.Copy
Me.btnCopy.Image = CType(resources.GetObject("btnCopy.Image"), System.Drawing.Image)
Me.btnCopy.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnCopy.Location = New System.Drawing.Point(0, 48)
Me.btnCopy.Name = "btnCopy"
@@ -1079,7 +1264,7 @@ Partial Class Form1
Me.btnRotate.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnRotate.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnRotate.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnRotate.Image = Global.TestEIn.My.Resources.Resources.Rotate
Me.btnRotate.Image = CType(resources.GetObject("btnRotate.Image"), System.Drawing.Image)
Me.btnRotate.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnRotate.Location = New System.Drawing.Point(0, 96)
Me.btnRotate.Name = "btnRotate"
@@ -1096,7 +1281,7 @@ Partial Class Form1
Me.btnMove.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnMove.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnMove.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnMove.Image = Global.TestEIn.My.Resources.Resources.Move
Me.btnMove.Image = CType(resources.GetObject("btnMove.Image"), System.Drawing.Image)
Me.btnMove.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnMove.Location = New System.Drawing.Point(0, 0)
Me.btnMove.Name = "btnMove"
@@ -1184,6 +1369,10 @@ Partial Class Form1
'
Me.ObjTreeTimer.Interval = 2000
'
'ColorDialog1
'
Me.ColorDialog1.AnyColor = True
'
'Scene1
'
Me.Scene1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
@@ -1194,23 +1383,6 @@ Partial Class Form1
Me.Scene1.Size = New System.Drawing.Size(755, 425)
Me.Scene1.TabIndex = 1
'
'btnInvertCurve
'
Me.btnInvertCurve.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
Me.btnInvertCurve.FlatAppearance.BorderSize = 0
Me.btnInvertCurve.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnInvertCurve.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnInvertCurve.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnInvertCurve.Image = Global.TestEIn.My.Resources.Resources.InvertCurve
Me.btnInvertCurve.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnInvertCurve.Location = New System.Drawing.Point(0, 48)
Me.btnInvertCurve.Name = "btnInvertCurve"
Me.btnInvertCurve.Size = New System.Drawing.Size(56, 48)
Me.btnInvertCurve.TabIndex = 31
Me.btnInvertCurve.Text = "Invert"
Me.btnInvertCurve.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnInvertCurve.UseVisualStyleBackColor = False
'
'Form1
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -1244,6 +1416,8 @@ Partial Class Form1
Me.TableLayoutPanel3.PerformLayout()
Me.Panel1.ResumeLayout(False)
Me.Panel1.PerformLayout()
Me.InputBox.ResumeLayout(False)
Me.InputBox.PerformLayout()
Me.TabControl2.ResumeLayout(False)
Me.TabDraw.ResumeLayout(False)
Me.TabConstruct.ResumeLayout(False)
@@ -1328,5 +1502,15 @@ End Sub
Friend WithEvents btnMirror As System.Windows.Forms.Button
Friend WithEvents btnPlane As System.Windows.Forms.Button
Friend WithEvents btnInvertCurve As System.Windows.Forms.Button
Friend WithEvents btnJoinCurve As System.Windows.Forms.Button
Friend WithEvents btnSplitCurve As System.Windows.Forms.Button
Friend WithEvents btnChangeColor As System.Windows.Forms.Button
Friend WithEvents btnExtrude As System.Windows.Forms.Button
Friend WithEvents InputBox As System.Windows.Forms.GroupBox
Friend WithEvents InputLabel As System.Windows.Forms.Label
Friend WithEvents InputCheck As System.Windows.Forms.CheckBox
Friend WithEvents InputText As System.Windows.Forms.TextBox
Friend WithEvents btnCircleCR As System.Windows.Forms.Button
Friend WithEvents btnRevolve As System.Windows.Forms.Button
End Class
+777 -1
View File
@@ -121,6 +121,53 @@
<value>281, 10</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="btnSaveAs.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
TjkNDp/6+Bcyg+r+/SotywAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnNew.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KERcOFNvFs6IAAAFsSURBVFhH7dQ5T8NAEAVgL4e5TALhcriKKA2p
kJAQDR0NPcqvpqSn4neYeZs34HjWEiZmE0tE+lhppJ33tApJiqKYIx/8+QX37mXDG2/83AsxeWZgFv8U
Czj36guk4RImzwy4MDB3etIarZO/5wsACsBAgkvMXjNoq0BNCbPXDCoF5KMhaelUW2KbZgWS5GWuRJZP
vNFTH3Tv134zaKNAqAReokkBoU+8KRCGED1hR+yKPdJ7Y4ESUx+eUIoS+cTkmUE7BWA6wwIo07AAnhv0
mRGiJ2S0T3qvhvsAk2cG35eWXmCD9JkRoif0RF8c0CHd1fB7TZ4ZrFABfOFAnxkhemrgoOSIjumE7um/
QPcK4N8P9IuGED01sBx0SmeU0wN1rwB+akFDsExPNRTndEGXdEWP1L0CeHq4XhALNP8pXnqBW+KCRbk3
MHlmsEIF/oTJM4PKhbaZvOogtuAwpuAwpuAwpuAwpuAwniL5BOxmy+3u6zjmAAAAAElFTkSuQmCC
</value>
</data>
<data name="btnOpen.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
@@ -150,6 +197,490 @@
rZmvkc6VxiA3wA1BbOrKiH+C7oknRypyPsCqOC9kCGI9kB47HenRHti/2RNZn8xFZpovdKlLkJU2D7rk
+TiQwtss17oEwRxusy40JjN7JXSfLkee36vwG/40JrDxP2/HfIh/OPGOxNbp8oQQ33oxZq+fEDldRddH
QQQh3tOTQhiLMf/+t82W2JfYFPsSm2JfYlPsS2yKfYcRfwGdQeXe8RCveQAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
AAAAAElFTkSuQmCC
</value>
</data>
<data name="btnImport.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="btnExport.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="btnExec.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAAd0SU1FB94KEgogBbw5BbEAAAGbSURBVFhHxZQ9TgJRFIVP438QNBZuhAhI3ICO
BBM2YEFh5MeEqB3T0hhNRIPLoLB3E3Y2bmScQ/KSm8kZHMR5FF9z8t47373FQxRFmTgdo6byZZGhggIk
7KNE1Jm/IEPF3gBvFAgmqK9MgARj1MnoEgWizi6CDBVOYLeN6Uwi3oRXgeIdRk5gJhELkMEAO0TdyYIM
FRQgTiApoe5kQYYKJ1D+xomVOH/FMXm4wRZRd+chQ4UVUBLchBeBw3fcKomzZ1RJp4MNot5QyFBhBeZJ
cBNeBNIkghdUSBhinai3LDJUOIH9Rzxlkog3kZtAUuLgHtNSFx+keI1PEvRQvohRb1lkqEgKOAmWr0zA
Fheu8EVY3uyhzvJhG9vqLYsMFUmB5OROwJbnJpA2eaOLGssX+ZBkqHACaZPb8lwF1OTNPqqztQ+xqe7O
Q4YKW24FbHmuAmryoIMKy8PW7x9OGjJUJAVsuRcBO3mjhyOWT9pYU2cXQYYKJ8BywnLvApyaH81/FDtk
qGC5W/vKBFS+LDL0iQx9IkOfyNAfEX4Asj8tHRoshHQAAAAASUVORK5CYII=
</value>
</data>
<data name="btnIsoNW.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KEhM3CjryBEkAAAFkSURBVFhHxZY7TsRQDEXfDiip2QINDZ+OinXM
JhCUNGjEFqhYDJsKcRSPHB/HOBn0KI6UHD/fGykaZdowDP9KKHsSyjXa5fVTu3v/OAdkerHGX5QLyPUi
ol1cPSLs8/tQ4vD1bPeQ7YVnUW7DojKPKxeQ74UF5RKq977MY8vNNTq8UBbvXMsFdbbM48vFzffo8WKS
rd0iQFFvnSUqF2aHLois3ATBC2vlwuzRB6EB55A8OPogbNBefPmuB4hChGxemKEPIgsRsnlhhj6ILETI
5oUZ+iCyECGbF2bog8hChGxemKEPIguxv/OdoA9CD0flD8e30/z+uAhOuXl90Wv0QehSVC6MHyi/o0Ql
iw/a+H2xs2kOoYc3lgu6e7q35Su7FLqg5b8EWPTsdF0oFyh0aWO5YM9Xdyl0sRhgwW7wzj0UPmQvhXKB
IgrbyvifwueuEcqehLInoexJKHsSyp6Esh9D+wH7VBh4pgry/QAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnIsoNE.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KEhM3HiAo0DQAAAFgSURBVFhHxZbBTcRADEWnA46caYEzcOREHdsE
JSBEC5wohqZCHMXB8bOtSRYNhyclz57/o420u22apn8llCMJZUa7vX9pj28f14BMLzL+olxArhcR7ebu
GWGf35cuLl+v9hyyvfDsym1YVOZx5QLyvbCgXEL13pd5bLm5RocXyu6da7mgzpZ5fLm49R49XiyytQcE
KOqts0TlwurQBVGVmyB4ISsXVo8+CA24huLB0Qdhg87iy888gPeKzquSaoY8iGRR0XlVUs2QB5EsKjqv
SqoZ8iCSRUXnVUk1Qx5EsqjovCqpZsiDSBaXWfSjdBBkQmSLvvzp/ff6AMiFCBZ35fO1nVm2HfvR22/H
+fcFZyDW5e2+s1zY9qLy5CzFemC5PlAubLud5QKFOdQTYNn2O8sFCj3YGWDB2eCdeyh8yFk6ygWKKOwo
838Kn5sRypGEciShHEkoRxLKkYRyHFP7AY4WRG/t8RDJAAAAAElFTkSuQmCC
</value>
</data>
<data name="btnIsoSE.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KEhMrFCaKZHcAAAFQSURBVFhHxZZBTgJBEEX7BixdcwXX6pKV5+AS
HMEYr+DKw3ipYT6ZisX/1UXNQNrFS+A1/R8JQWzTNP0roRxJKHu0p+f39vrxdQ+yyaLHI+JAdllEtN3+
IGPfv8cSx5+TvyfbLJiruB+LYgzFgeyz8Egco/acY4yPu8fSYGFcfeYWB+Z8jOE43PJcOiwusrUXGTDM
e+eJ4mBx0hKRxd2QeNCLg8VLT4QN3EPyxqUnwg9theOb3kA0ArLzwpn0RGQjIDsvnElPRDYCsvPCmfRE
ZCMgOy+cSU9ENgKy88KZ9ERkI/57vhHpibAX34q/ff49XoH0RNiLe/Hoj4xx6+78+yI9ETxSjYPs7vzL
yq1LT4QfWRMHvbudOFBhl9bGQXQ3iQMVdtGoxgHfDT5zRgWPbKUQByqisbXM/1Pwbo9QjiSUIwnlSEI5
klCOJJTjmNoZ0FXsKlnUK5MAAAAASUVORK5CYII=
</value>
</data>
<data name="chkGetDist.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAAd0SU1FB94KEhQRIVDfaKgAAADQSURBVFhHxdDBDcIwEERRFwAV0hDV0EAO0JnR
HiaKnY8TxbvL4R34EniHUmv9K4xeyn15Ut/C6MEeL7flc3QExlnr46/34+gIjDOax2VwxC7M2C0/cUTz
YQYu78ERzY9cNVwuUf/A1eXr9ymeNbNcMJ4xu1wwHvFYLhhHvJYLxl88lwtG4r1cMPYilgvGrajlglEi
lwtGE71cOCYsl31IWi4cR0c4Pm4wGjzC+XGDUZojAh43GLfWIwIeNxh7UY8bjJkwZsKYCWMmjJkw5qnl
C3fdzWDzTa4mAAAAAElFTkSuQmCC
</value>
</data>
<data name="chkAnalyze.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KEhUGDBFB2nwAAAGaSURBVFhHxZYxTsQwEEWnoKDjBlRUK1FxBZpt
OAX9HgE6zpCWCyBxBKQ0SByAgoKOZiW0QkKiMR7j8Y7H35tsNjLF0ybfY/+fiZMsOef+FSi2BIrToSO6
el7R/YcreHEdmlMIU7mg7twaJU14/OKBMz0vHRwE3Z7+mXyysNRjtHhYZiGevr2sxvXJNEzb+58+G0/h
hLWjN7eS8W3hZOiYrl+7ZGDbTJcndPfeZyHUbYqLHILpwGCA2Tvg0SZ2txe3IN8n28IBeLLVxlBsQhMw
K67hqxZhsv9F41Vs+8G7IDupMS2A3hvl4ykUghBMNTGABs1LyL23j6UBikwwCekr7AwQrx603AJFJgWI
RnyMdIx/N9ysO3+QvXYRpcAGQjS1SAChrPEBus3g1TP5CS8M2LdmH0pBXVlt4WCq6lDNWKDISAAxkDBW
L9HfhvrjJ0CRSUY1YADwhwT8B9BAkQkBNNFUU84zX8bA7i5A0RIMYwA0vmXGDmjGB2Bm2gMWXtBqcwDF
lkCxJVBsCRRbAsWWQLElUGwJFNvh6Bf4WykDmLCLGQAAAABJRU5ErkJggg==
</value>
</data>
<data name="chkCurveDir.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAAd0SU1FB94KEhUJMle42xgAAADWSURBVFhH7ZFREoIwDER7WE/mFbiUt4hMMMza
bkrFuvz48TryEpItFjO7FCqVUKmESiVUKqFSCZVBWexW7g/bWZ9Z3zdwWS9mTArTipHlyECQXl8rkgWH
wTpBej3vD/US9sKJIL163riCtZpPgnRr8aNpJDdhHAbJeM1PB4Uf5UwQf28fgMXB22cMhWm+ABTDzQJn
O3BB2hRuFji7/rq0KdwssuVe86P6z7BhBtlyr/kBy7PGX7EdEACLCrbjH+DqAFdCpRIqlVCphEolVCqh
UgmVOqw8AVmOlhOdRMKIAAAAAElFTkSuQmCC
</value>
</data>
<data name="rbtShading.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KEg8mDnt6uVQAAADnSURBVFhHxY6xccNAEMRYkx27HTfjQC1oXI1G
laiL95wS3RBgsBT5DpAgWOwyxvhXVM5E5RbL9fa5XO/fu/n6uWBzLbY4Ir77wFHxXQeOjMcHjo5HB86I
F+isxVOeFC/QgjgxXqAH8fsYbyHRDnoQNpog0Q56EDaaINEOehA2miDRDnoQNpog0Q56EDaaINEOehA2
miDRDnoQNpog0Q56EDaaINEOehA2miDRF5cP9CBsNEHDBePPHoSNJgTxgsJGE4J4QWGjCUG8oLDRhCBe
UNhoQhAvVM5E5UxUzkTlTFTOROU8xvIHUjb6Nz+hLvkAAAAASUVORK5CYII=
</value>
</data>
<data name="rbtWireFrame.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KEhM2MZLi3CwAAAE7SURBVFhHxZZBbsJADEXnBiy75gqs2y5ZcTNU
9chpbDHB9rdNxkHTxZPi5/H3CEREW5blX3HlTFwZ0T4ut/Z1/z0CZFoR8Y7lBORa4dFO5+uroAh7cehb
YVHLxbN31uJ9anDGColdzi4IsqhZcRE4Z0VH3f6xnH0QJBm5uCo22dqnDdh6QVBn9OKqYJEs534QxL1g
OfeCOVWw6AFHWC8S5YIHIYOK2EyZCx5EEkJk/UpPFSySECLrV3qqYJGEEFm/0lMFiySEyPqVnipYJCFE
1q/0VMEiC1l/271fBTJBRAft8u+f5/MAkAvCOaiWO2/HzstZ7wUFwoTsXU5UZlGIkJHlRGUWhRjaEyCp
zKLogzsDJDDrfOcWFDakyo7lBAovbJT1P4XNjXDlTFw5E1fOxJUzceVMXDmPpf0BQxrD+wALxQUAAAAA
SUVORK5CYII=
</value>
</data>
<data name="rbtHiddenLine.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KEg8aF2ziaGsAAAEvSURBVFhHxZYxDsIwDEVzA0ZmrsAMKxM3Y+DI
IbGayva3nZSWMDypfo6/IyFFpJzzXzHlTEzpkc7XZ7q/3nuATC08jlhegVwtLNLp8lhDyrd1xkNfHPpa
aI5cXoEzWnB2Leez7CJwTouGuP2e5ctsq+GsFiRTuumAUbyLN8fPkgfxg+XUWzx35EG0gD2Ui3i54EHw
oC/RmTwXPIggpEc06/VEQSII6RHNej1RkAhCekSzXk8UJIKQHtGs1xMFiSCkRzTr9URBIgjpEc16PVGQ
CEJ6uEvKo+T2QDgHR7Bm+XLzgQJhhIyiZ8Vy51lHoUK2wGdHlldQsJCt8IX82zrbQLEMaj/CurRh/OYa
FDrkWwaWV1BYYVsp/yl0rocpZ2LKmZhyJqaciSlnYsp55PQBSsw4vNaBGWMAAAAASUVORK5CYII=
</value>
</data>
<data name="btnZoomOut.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="btnIsoSW.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KEhECB+X2biwAAAGLSURBVFhHxZY9TsNAEIX3BpTUXIGGhp+OinPk
EghKGhRxBSoOw6WMZzVjjd97XjYOWopPir+ZfU+JFSdlmqZ/RcqRSLlFubx+KnfvH+dAmSi2+Ityg3JR
KMrF1SOFfX4fujh8PedzlI0CWZXnMFWGQLlB+SgyVG6hcY1lSC5Pt486UASrex7lRrhchuTy+U3UPL+m
HhRVlnK7BORyI3x2GVFeM93lnupJtMqNmKE3NsprrvvsqicRAecw376tXPIkctBOMDPnkicRQeojNlpz
n2FmziVPwhdlgdGa+wwzcy55Er4oC4zW3GeYmXPJk/BFWWC05j7DzJxLnoQvygKjNfcZZuZc8iR8URbk
7/lOqI9ELKvyh+PbMr8/roKb3Ly+xGvqIxGHVLmhno6BKFn9oKkHFIlYjtDecsPPLlm5HB7Nyw6JOGCB
VhjXv5UbvltzOsoNFnHo1HIj9jvLDRZxMOgtN/CsuOcICwzZS0e5wUKFncr8nwJzt5ByJFKORMqRSDkS
KUci5Tim8gPTBxi2aEwfcAAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnBack.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KEhA3IZQIQ1AAAAFnSURBVFhHxZY9TgNBDIXnBpTUXCENDT9dKs6R
SyBS0qCIK1DlMLnUgkfzVl4/2xomaCg+affz+L2VVtqkLMvyr7hyJq6MKLe7l/L48XkNlGlFxF+UC5Rr
hUe5udtT2Nfl0MXh/Kr3KNsKy6ZcX3tlFlMuUL4VGlteHe69Qo0uV9fUYQXYvPNWXj2cVwpsubh2rztq
nhVVlvKwBqjyOoO3pcArF5rTWTWPRFJe55jpUhCVC81THgkEXIMtn/4AtnzkAawHmGcl2YzySAQHAeZZ
STajPBLBQYB5VpLNKI9EcBBgnpVkM8ojERwEmGcl2YzySAQH60x/mgehTBLRQSl/Pr2vYU+nTXDK/fEN
15RLwjm4lgvO1xGEu83L74ue1TkJE9JbLri7zUW7LFRIT4BmZJeFWuoJ0IzsssBiZ4CGdp13bmFhQ0bp
KBdYeGG/5ec/hc2NcOVMXDkTV87ElTNx5UxcOY+lfAM8Zk1oURwqJAAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnRight.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KEhA1H2dfPHkAAAE2SURBVFhH7ZY9DsIwDIVzA0ZmrsDMz8bEObgE
OwuquAITh+FSAUeN5fjZJS0QFoZPap7t96xWCoQY408xxZaYokeYL/dhfb68A3hqweMT4QT4asEizBa7
V0YeenGoa0FThItnq1djvTXo0YJEhyfNMdIUs4fb0ZsrDpJi+z486Y6RBMKv94M3VxxYDGHFBiI81Ryj
TLF4Dh+zwFB4qjtGqeaFj1ogG7yDDm++gA6fsoDWM0P1XPsv8F/gawsUN9xEwBMEr5HCt92JzTZdYVwL
+IJgNHI4YdyOGQ6Sr178ENFNCTMg9M18rgwnOMgKd2ZR6AfSM4W/MJBwb2U4gYIYqjGQcH9lOIFCHqw0
kMCs8c01KGiTqVSEEyhYZmN5/qfQvh6m2BJTbIkptsQUW2KKLTHFdsTwABCvlyeL6Od0AAAAAElFTkSu
QmCC
</value>
</data>
<data name="btnLeft.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KEhA5IpOCP2QAAAF4SURBVFhHxZY7TgNBEETnBoTEXIGEhE9GxDl8
CYRDEmRxBSIOw6WWndb2qrur2juzRkPwpO2arqrRWrJdpmn6V6g4EipmlOvbl/Lw8XkJkBmFjL8or0Bu
FBjl6uZ5KygjXhzOoxBx5Yfv1yyIwd4a7ETBAuVfP4csKOK85iKwFwXF3V7LGy/gyudn0RKfG1axlPs1
wJY3XMBdfCkXPfG5QYRz5RsXyMrlLPG5QQQNuIT5Ilku6CDYoJ3ETJsLOggaFF+9kgRZb8+ZG0RYFml5
JQmy3p4zN4iwLNLyShJkvT1nbhBhWaTllSTIenvO3CDCskjLK0mQ9facuUGEZZGWm9+CvUAfCLrMyp9O
7+v548kFn+Xu+KbP0AeCmlh5JXzDWViJ+11gX1Ag6HJneUW962zLEy8KatDyjQCL7spzQ3kFBTV1llfs
fqsXBTU2BljASz7zCAoxZC8N5RUUWFgv83+KmJtBxZFQcSRUHAkVR0LFkVBxHFP5BW8gjs2z8kfIAAAA
AElFTkSuQmCC
</value>
</data>
<data name="btnZoomAll.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="btnFront.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KEhAzGkFvb3AAAAGASURBVFhHxZY9TgQxDIVzA0pqrkBDw09HxTn2
EogtadCKK1BxGC41rCM7cvyeszO7KBSfNPPZeS9apBFlWZZ/hcqZUJlRrm9fysPH5yVAZhQZf1EuQG4U
jHJ183wqKCNeHOZRRLpy98x2I+xXg50oPLG8uiQo0p11F4G9KIzu9lpefRLk2XLx7qXJUu5jQJslQcbW
i3cvVQzK6zwJqrOkvM6Sc91LFRZwCceLZLngQfigM4mZPhc8CAv6+tlRRnOdxUyfCx6ELtICYTTXWcz0
ueBB6CItEEZzncVMnwsehC7SAmE011nM9LngQegiLRBGc53FTJ8LHoQu0oLd92ubnwn0gbBlVv50eG/z
x0MXPORu/2bP0AfCDrFyQZ79zENK5IvYMtkHCoQtW+jackHPtixfTj7rdQeEHZBAKbT3U+WC7tacFeUC
Cju0tVyw/ZXlAgo7aKwtF+JZ8jePoIgh57KiXEDBwrZy/J8i5mZQORMqZ0LlTKicCZUzoXIeS/kFsX9O
IhSqNNwAAAAASUVORK5CYII=
</value>
</data>
<data name="btnZoomIn.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="btnTop.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KEhA7I9azbXAAAAFkSURBVFhHxZYxTgQxDEVzA0rqvQINDSwdFefY
SyAoadCKK1BxGC41jK3J6MffsYIXheJJm+fx/xpFGm1ZluVfceVMXNmjXN88lfv3j0ugTCt6/EW5QLlW
eJSrwyOFfX6fhjh9PeMeZVthacoxzCuzmHKB8q1AqFxC69mWWbAcro86rKg0d17LheqwzILl60to3nam
HitUlnK3B2C5UD06xCnXzM1hj3oSUblQZ9YLnXLN3Tw69SRqwCWs19fLJU8Cg5LYTMwlTyIIEaJ5ZtYc
VAQhQjTPzJqDiiBEiOaZWXNQEYQI0Twzaw4qghAhmmdmzUFFFIKf5iSUSaL3oJQ/nN/2sOO5CQ65fX2p
vymXhPPgXi6YLxzS3d28+4EiYUJGywV3d3O9XRYQMhKAZHZZwNJIAJLZZVEXBwMQ2nXu3MLChmQZKBdY
eGG/Zf1PYXN7uHImrpyJK2fiypm4ciaunMdSfgDRq45RqelmwQAAAABJRU5ErkJggg==
</value>
</data>
<metadata name="ImageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
@@ -160,7 +691,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC4
DQAAAk1TRnQBSQFMAgEBDgEAARABBwEQAQcBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
DQAAAk1TRnQBSQFMAgEBDgEAAcgBCAHIAQgBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAAUADAAEBAQABCAYAARAYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@@ -219,6 +750,251 @@
AaEBHQGAAQ8BwAEDAv8BsgFxAYABBwHAAQMB/gF/AXkBggGAAQMBwAEDAf4BfwFyARIBwAEBAcABAwH/
AT8BQAFyAeABAAHAAQMB/wGfARkBEgHwAQABwAEDAfkBnwGyAQ0B+AEAAcABAwH5AZ8BsgENAfwBAAHA
AQMB/AE/AdsBGwH+AQABwAEDAv8C5wL/AcABAwL/AfgBHwr/Cw==
</value>
</data>
<data name="btnCircleCR.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94LARAaLltR1e8AAAFASURBVFhHxZMLDsIgEEQ9WE/r6bxFZQjbzi5D
+cSgyUvK9O2A1b7O8/wrMmyRPkcCFy0ONfeEDBmU0gYzDB1GhgZKqHCF7iF02N/YFWNN9xTNg9RBu2zs
kU7O10E9CIY2N+DT7EX0gF/Ug1MbRzBPXbLPL7ycIi+v0Ou8L3787Q30UGfVyyJLKbolxaTbPARLUmiR
vfcn+/Eeg67LNWgPFu1GWtZFBntUlokuuLxI8b1YsEyRnYfCSM/3YsEyBXtWZEQXXF6k+F68+e9/AFje
YtIdegse39dV0EOdVW+UWUzRfW+VXqdf/PgpYJ66ZJ9b5MAPGNMHwQzNZ6ID6kAMFoYOAY9mGDlfBTls
lwBdtDADZGhgkEpW6D41GTIoocIZxn4yFbZAKW2gGNqUkeFOZLgTGe5EhjuR4U5kuI/z9QVrMm0Sw4U7
uAAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnArc3P.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KHhUzLMLIh7oAAADnSURBVFhH7ZRREoMgDEQ9mKft6XoLmjATCMmq
rYbwU2bejD6BXbV2K6UsBcpMoMwEyqfQ2Ak+EHY0j4HyCRxWQ1/vzkkJJ+7QQgUdrkrYdYwT30LDPubO
zAI0joOF6AI0rkLb++Xj6ky4nqNxwnKy4fGmsuZiHgOlpm6gw1UJO/cOUGqWFqDhH39WgRYumHC+jtb9
CpRMC8aEhDNY2rsPDLRgOYaT8nOiwHIsMO3uGSxVAXstGi8S3z8znkj4pE8OMZ7YcFVCz4tkPPkXWP0b
qEJKdPL/BzKBMhMoM4EyEygzgTKPsn0AWUzaGYkjGQMAAAAASUVORK5CYII=
</value>
</data>
<data name="btnArcCSE.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KFxErMsDdxdYAAAEESURBVFhHxZQLEoMgDEQ9mKft6XoLyjIGQ7JY
PxCZeTPlGbKx1i4ppVehMhIqI6HyKXmtGXwQVlYHqHwCwkro57tzMIQTd6ihgg5XQ9hzwImz5GW/5p2Z
A+TVDxZmDJDXUXB9vvhcnAnXNRonGLWphzf19fffAhxWjYRuw6tQqTHBYFg4oFJAmAoeHg6oBAhTwVPC
AZXAhGfF657CZdDdAy7b8Kx8zSi4bAeYdveASzWAvTYaLwY9f93DXtO0Gwk/+T9+RO1zcYA2XPjTRFN6
CNtZwdaCdiOHLJ3DjKs92s2oAYTtrGBrQbt5+zdQhAyxE/cWvAGVkVAZCZWRUBkJlXGk5Qcz46N6J0RS
8QAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnPoint.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KFxEsB9kvlzIAAACGSURBVFhH7dPRCYAwDABRB+u0TucWsRW0ogcR
keuPhQdyFJKPOkXEUBhNGE0YTRhNGE0YTRhNGE0Yn6inVO1jV+heBmOmDduGzkv3cgmMmdvw0xLXuxmM
mX+Besa+geZYovP+gi9hNGE0YTRhNGE0YTRhNGE0YTRhNGE0YTRhNGE0YfTEtAKYv7U6xFtRwAAAAABJ
RU5ErkJggg==
</value>
</data>
<data name="btnLine2P.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KFxElNy40HNcAAAD+SURBVFhHzdUBjsIgAERRD9bTejpvgf1G7ABD
S1tKNXnJMtv1E7ObfYQQbmXHHubXNOOLaLLPufEsYp/o87WoXCI59FLE5RLFs/nQw60XmF/lxz/qAr94
lMX5fvEz+XAUb/6N1Fz3V8CbS0jZqLLjHkQkqDbjsGMrIhJUTXHYsQURCarmOOy4hYgE1a447LiGiATV
7jjsWENEgupQHHZ0iEhQHY7DjjkiElSn4rCjIiJBdToOO0ZEJKi6xFEO9WjULY70EOPlf7GoaxzpIY+n
l+geR3pYuYA+11N6+IML1H4HLvn4UQ7xEovL4rDjSHYcyY4j2XEkO45kx3HC4w3Q1q4ttTanIgAAAABJ
RU5ErkJggg==
</value>
</data>
<data name="btnRevolve.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAAd0SU1FB94LAgkfLMlqd5cAAANkSURBVFhHxZRJTFNRFIZ/3bhw5UZ3JiYu2bnS
EE1coAsXxoVDHIhhKmChpRQBK5NDjGBMIC7UxJ1xpTHIQmOMUTFRawCRoGChyOQAgtSR4fX43w4E6yk0
xjybfH3tf+89w33nHIjIf0UVUwPL4WgbhGd0s76eGqqYCshq7Ufhe0H2J0F+5wZtTyqo4lJgz43rKHgn
KBsXlH8W5I0J1jtXaHuXQhUXAxudW3CgJ+rYUPl1Gt6QwDMypu1fClVcDBx6LPDy2iu/CY6RmpnP8H2f
RQE1Z88h7cxiqGIysPNyLnKCdP5F4PspOD4jOBsOom5uHF7ehmuY2/SzyVDFZCDz3hQ8fO++H4KqWWIJ
mqQbDdKLo1MCB4uy4GWGdjYZqqiB1WlrsL9bUEFHxnl1mNdPLkoHeYZy3oqLxVjUd0c7nwxV1MDua0XI
G4i+92pmXkOxljTJG1yQdpSHLJQyAEeA23UbGqqowb6/Cedo9PpN5vEAzskozksPX8EcvB8FmX2CjPqV
mg0NVdRgAO3wsNJN9nUUTpITpEHGGMRANIAPgiwW6cHmdZoNDVWMk74Wq7Dr6hXsaw4i+zkHTrspMkHh
K9NyfN9vBMXMuLg/HHsKjgSoByZQ1PsAhV17NbsLUUUDtp50YNstZvNEkPOCTlmAzt6oQxezdLEeSoY5
gDgRS5m5l91Rxhs6OsHfxM3/uVxzDUzS3DLNh0EX033bseM+s2GmxplnhEbpxIxe4+A3Ik4tVLAIK0Jh
wk4xsFvMpCxmYbqDIc2PQRf33uVVv2aGQ3RKA8aYqf7I8JmODiBD1ZyFOiuEBiuIRusl6q0Aaqwpjmcr
Oqono0Hn0E5+52HV1x9Cxqk07O7glTNzN6vazPlyVn4le/8Yq9+3gGoeOC3TaJQhXJJOPgOoDX9FGZ2X
0LGbwbs4nByD5hV2JfqK+PtDONCyiUXUi5JBP6/Xz8z9qJrxc/D42XaJPGUntOKM3GU3tDCY22zTh7y1
p/C+90coHfXD/baNBfko0VfEnybaiSraiSr+C/gxX/MkrsdRRUPsYA1J19ZTIXb+rwOYPxz7nVIgZl9s
/8KzXEqyXxPj8JNoLE4koBja+vyemB0+kvjQxEQWGFo0oMRzqaCKdqKKdqKKdqKKdqKKdqKKdqKK9iH4
BcKd4KYRgNnpAAAAAElFTkSuQmCC
</value>
</data>
<data name="btnExtrude.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KHwsOADT8SvgAAADkSURBVFhH7ZVBDoIwEEV7AI+Ep3PpwgOx8Wa1
0zh1Cq+B2mSIBpIXymOY/3eEGOOhoPQEpScoPUFJhOv9ES7zs0l6T99tgVJZhd7m2MTOdZRBKZRwCtui
owTLkXBlZwmWo+FK2kP7LSz/sUC6poQcpirLPhQpBUZLvHfkfZ9wpZRYhWep4d+WMN/nfe9Qey9ZerBU
wXJW1BE0l87VXhNc3FJk2QqzIUsa89Xe4QK9nAXOAr9b4Oi/oTBUYme4gFIpJRQKU+zcznABJbEqs6Qj
1ILSE5SeoPQEpScoPUHpCUo/YngBJIdt0fK/TNMAAAAASUVORK5CYII=
</value>
</data>
<data name="btnPlane.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KHwsECi7GS2wAAAEYSURBVFhHxZRLDoMwDEQ5QI9ET9dlFz0Qm94s
zbNIFWKD8pOJ9Go8YM+gql1CCLdiip6Yoiem6IkpnhHPGuGiG7WzFM6IJ5mv1v0amFdaKVhgyjBV+uf7
szy2bwv7nliK3aVQgimDVOmT+WsL1fQGwJQhqvQ95tATAFMGqNL3mkNrAEx5mCr9iDm0BMCUB6nSj5pD
Y4C55tAaQOosc+gKMMscbgvAjp18d86hEWFGgGQcv0Zr90FTwmiAwjie9KsSkv6/r4SRAJl5PLmx/Kos
tDAYYN9x+C+5Qgu9AY5vX2UOWhgIsM/L23NdgxbGA/BR9faghTxAI/l8LVpoXFAyJcAo5c4rTNETU/TE
FD0xRU9M0RNT9CMsP8YUDae/Iv6fAAAAAElFTkSuQmCC
</value>
</data>
<data name="btnChangeColor.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH
DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2Zp
bGUAAEjHnZZ3VFTXFofPvXd6oc0wAlKG3rvAANJ7k15FYZgZYCgDDjM0sSGiAhFFRJoiSFDEgNFQJFZE
sRAUVLAHJAgoMRhFVCxvRtaLrqy89/Ly++Osb+2z97n77L3PWhcAkqcvl5cGSwGQyhPwgzyc6RGRUXTs
AIABHmCAKQBMVka6X7B7CBDJy82FniFyAl8EAfB6WLwCcNPQM4BOB/+fpFnpfIHomAARm7M5GSwRF4g4
JUuQLrbPipgalyxmGCVmvihBEcuJOWGRDT77LLKjmNmpPLaIxTmns1PZYu4V8bZMIUfEiK+ICzO5nCwR
3xKxRoowlSviN+LYVA4zAwAUSWwXcFiJIjYRMYkfEuQi4uUA4EgJX3HcVyzgZAvEl3JJS8/hcxMSBXQd
li7d1NqaQffkZKVwBALDACYrmcln013SUtOZvBwAFu/8WTLi2tJFRbY0tba0NDQzMv2qUP91829K3NtF
ehn4uWcQrf+L7a/80hoAYMyJarPziy2uCoDOLQDI3fti0zgAgKSobx3Xv7oPTTwviQJBuo2xcVZWlhGX
wzISF/QP/U+Hv6GvvmckPu6P8tBdOfFMYYqALq4bKy0lTcinZ6QzWRy64Z+H+B8H/nUeBkGceA6fwxNF
hImmjMtLELWbx+YKuGk8Opf3n5r4D8P+pMW5FonS+BFQY4yA1HUqQH7tBygKESDR+8Vd/6NvvvgwIH55
4SqTi3P/7zf9Z8Gl4iWDm/A5ziUohM4S8jMX98TPEqABAUgCKpAHykAd6ABDYAasgC1wBG7AG/iDEBAJ
VgMWSASpgA+yQB7YBApBMdgJ9oBqUAcaQTNoBcdBJzgFzoNL4Bq4AW6D+2AUTIBnYBa8BgsQBGEhMkSB
5CEVSBPSh8wgBmQPuUG+UBAUCcVCCRAPEkJ50GaoGCqDqqF6qBn6HjoJnYeuQIPQXWgMmoZ+h97BCEyC
qbASrAUbwwzYCfaBQ+BVcAK8Bs6FC+AdcCXcAB+FO+Dz8DX4NjwKP4PnEIAQERqiihgiDMQF8UeikHiE
j6xHipAKpAFpRbqRPuQmMorMIG9RGBQFRUcZomxRnqhQFAu1BrUeVYKqRh1GdaB6UTdRY6hZ1Ec0Ga2I
1kfboL3QEegEdBa6EF2BbkK3oy+ib6Mn0K8xGAwNo42xwnhiIjFJmLWYEsw+TBvmHGYQM46Zw2Kx8lh9
rB3WH8vECrCF2CrsUexZ7BB2AvsGR8Sp4Mxw7rgoHA+Xj6vAHcGdwQ3hJnELeCm8Jt4G749n43PwpfhG
fDf+On4Cv0CQJmgT7AghhCTCJkIloZVwkfCA8JJIJKoRrYmBRC5xI7GSeIx4mThGfEuSIemRXEjRJCFp
B+kQ6RzpLuklmUzWIjuSo8gC8g5yM/kC+RH5jQRFwkjCS4ItsUGiRqJDYkjiuSReUlPSSXK1ZK5kheQJ
yeuSM1J4KS0pFymm1HqpGqmTUiNSc9IUaVNpf+lU6RLpI9JXpKdksDJaMm4ybJkCmYMyF2TGKQhFneJC
YVE2UxopFykTVAxVm+pFTaIWU7+jDlBnZWVkl8mGyWbL1sielh2lITQtmhcthVZKO04bpr1borTEaQln
yfYlrUuGlszLLZVzlOPIFcm1yd2WeydPl3eTT5bfJd8p/1ABpaCnEKiQpbBf4aLCzFLqUtulrKVFS48v
vacIK+opBimuVTyo2K84p6Ss5KGUrlSldEFpRpmm7KicpFyufEZ5WoWiYq/CVSlXOavylC5Ld6Kn0Cvp
vfRZVUVVT1Whar3qgOqCmrZaqFq+WpvaQ3WCOkM9Xr1cvUd9VkNFw08jT6NF454mXpOhmai5V7NPc15L
Wytca6tWp9aUtpy2l3audov2Ax2yjoPOGp0GnVu6GF2GbrLuPt0berCehV6iXo3edX1Y31Kfq79Pf9AA
bWBtwDNoMBgxJBk6GWYathiOGdGMfI3yjTqNnhtrGEcZ7zLuM/5oYmGSYtJoct9UxtTbNN+02/R3Mz0z
llmN2S1zsrm7+QbzLvMXy/SXcZbtX3bHgmLhZ7HVosfig6WVJd+y1XLaSsMq1qrWaoRBZQQwShiXrdHW
ztYbrE9Zv7WxtBHYHLf5zdbQNtn2iO3Ucu3lnOWNy8ft1OyYdvV2o/Z0+1j7A/ajDqoOTIcGh8eO6o5s
xybHSSddpySno07PnU2c+c7tzvMuNi7rXM65Iq4erkWuA24ybqFu1W6P3NXcE9xb3Gc9LDzWepzzRHv6
eO7yHPFS8mJ5NXvNelt5r/Pu9SH5BPtU+zz21fPl+3b7wX7efrv9HqzQXMFb0ekP/L38d/s/DNAOWBPw
YyAmMCCwJvBJkGlQXlBfMCU4JvhI8OsQ55DSkPuhOqHC0J4wybDosOaw+XDX8LLw0QjjiHUR1yIVIrmR
XVHYqLCopqi5lW4r96yciLaILoweXqW9KnvVldUKq1NWn46RjGHGnIhFx4bHHol9z/RnNjDn4rziauNm
WS6svaxnbEd2OXuaY8cp40zG28WXxU8l2CXsTphOdEisSJzhunCruS+SPJPqkuaT/ZMPJX9KCU9pS8Wl
xqae5Mnwknm9acpp2WmD6frphemja2zW7Fkzy/fhN2VAGasyugRU0c9Uv1BHuEU4lmmfWZP5Jiss60S2
dDYvuz9HL2d7zmSue+63a1FrWWt78lTzNuWNrXNaV78eWh+3vmeD+oaCDRMbPTYe3kTYlLzpp3yT/LL8
V5vDN3cXKBVsLBjf4rGlpVCikF84stV2a9021DbutoHt5turtn8sYhddLTYprih+X8IqufqN6TeV33za
Eb9joNSydP9OzE7ezuFdDrsOl0mX5ZaN7/bb3VFOLy8qf7UnZs+VimUVdXsJe4V7Ryt9K7uqNKp2Vr2v
Tqy+XeNc01arWLu9dn4fe9/Qfsf9rXVKdcV17w5wD9yp96jvaNBqqDiIOZh58EljWGPft4xvm5sUmoqb
PhziHRo9HHS4t9mqufmI4pHSFrhF2DJ9NProje9cv+tqNWytb6O1FR8Dx4THnn4f+/3wcZ/jPScYJ1p/
0Pyhtp3SXtQBdeR0zHYmdo52RXYNnvQ+2dNt293+o9GPh06pnqo5LXu69AzhTMGZT2dzz86dSz83cz7h
/HhPTM/9CxEXbvUG9g5c9Ll4+ZL7pQt9Tn1nL9tdPnXF5srJq4yrndcsr3X0W/S3/2TxU/uA5UDHdavr
XTesb3QPLh88M+QwdP6m681Lt7xuXbu94vbgcOjwnZHokdE77DtTd1PuvriXeW/h/sYH6AdFD6UeVjxS
fNTws+7PbaOWo6fHXMf6Hwc/vj/OGn/2S8Yv7ycKnpCfVEyqTDZPmU2dmnafvvF05dOJZ+nPFmYKf5X+
tfa5zvMffnP8rX82YnbiBf/Fp99LXsq/PPRq2aueuYC5R69TXy/MF72Rf3P4LeNt37vwd5MLWe+x7ys/
6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAAd0SU1FB94KHwkbEB16
aOYAAAI8SURBVFhHzdLbTxNBGAXw49vOLn+KMV6JKDH+h77oA4kh8YbBIpaLbeldKDdRCV7inZhIoljQ
WlExMYzfmV1l3M5rh5L8kuE7mznfbgqt9YFyDn3i3yFX4EvHAvy/W+weq69zAf1AjkuJhqjFmJ1fg6Zz
D6EH78fOyDPMqA96IsLPHCk0ywrrDTL3Wj1WXy8usCjH2URF5GLMWExnZbkByalfnmFGEXbyET7USOH1
gsKjVTL3Wj1Wn2OBuhyLiWkxHmM2uCBvLQbkmf5S7MTd/QUUNuohXixTgJXHCtU3ZO61eqy+XlygIMfJ
xJi4GWN2Wn4LdGoG+rjkdPS2vcDTlQhLzyhAeV1h8iOZe60eq8+xQFaOtxI3xNUYs5N5aDo2AX0kEzss
zzCjAPPPAxTfxe5sBhhpk7nX6rH6enCBbrF7rD7HF0A0atuDyhCzecxrqqMhv9HYFOb+fQHkNof+92nY
SPVYfT2+wG/0ZXcRzRCzmhRSQUqzmDVGBTPDLs83r6OwPW2keqy+zgX2EI79gpqiH1CVNsJlYpaTYhqX
0hHcM4ZRtxaQt81vZYzS5yrKrTUj1WP19eACuwgL3xHOUQvh6jbUS2KWkUK6Ji6jZlwSzIyifO5Sa9Eo
f32FSnvLSPVYfZ0L8G2/IHhCTYRvm1DvidkVKaYhKb2YuIDq/gJ822prw6i1d1D7po1Uj9V3wAt0DP5e
1AXpLtPnGvrkHPrkHPrkHPrkHPrkHPrkHPrkHPrkHPrkHPqj8QedywzpExYb4AAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnSplitCurve.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KHhYtDVimFmIAAAC6SURBVFhH7Y9RDoMwDEM5GPe/VldLzcgSUxKY
so+10pPgFSdma639FCorodLSz97BAwN3O8tFoFIzFuiFZ9wqQaWAoWqBW4J3udM+A5VADx/QPzzzUbgM
LrdkvwdcHoNyw27kqASZIQK+HznhMk/lE7BUFbgs4UUwOANZNWc6ywsVtHcZ+vkoYe8FLwKhKP28S9g7
wYsRmIW+iRerwCqwCqwCf1+gGiorobISKiuhshIqK6GyEirraNsL9oz5sY5cmbEAAAAASUVORK5CYII=
</value>
</data>
<data name="btnJoinCurve.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KHhU0BlYy2KsAAADySURBVFhH7ZRrDoMwDIM5GKfd6XaLrs4ICanp
uqm0PwbSJwW3tb0HLCmlqVBxJFSM5GvNYGDEtZV5nEFFDwydOefxNN5acwkqKjDaDKmxaD7clfD7alAR
IEwCjOJTid6zAELEtIR+pbLWqwBCCsNKOKicqZ7z2BCNnKHuYSBIznI+lrABB34oEEGoeBnVEjZgc4cC
AKHiZ5z/jPugh0J47XCN3W8jrivHmy+at4Dz6hXXlFKw8Hx7XLuCUrgL3AX+ukC+ur4HWrBBwzu9CVux
IYa7ErrnCmy4C8z+D8iNljDGPQWzoOJIqDgSKo6EiuNIywvRuKZ6IkxttwAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnInvertCurve.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94LARYFGrMyU3YAAADiSURBVFhHxY/BDcIwDEUzACuxDdtwYAdW4MiF
cdjC6FcktqyfkiDHPTzJfXX13CIih0LlLOUhl3J/C/DvfkHlDDaefoCP45nt7UHlCCPxcnq+erQd+8Eo
o3/OwpW2Yz8YYTRuKefrLeSAqPhfB4TEzXPbsR/0iIpvfvaAyPj2buaA6DhDh2+kPSfEgQ7mgKw40MHE
suJABxtNigMdDogDHfwBhrpjiYgDHUi4UnfablAcULlHZBxQ2SM6DqhkrIgDKj2r4oBKz6o4oNKzKg6o
zITKTKjMhMpMqMyEykyozEPKB2+JEDSPq44pAAAAAElFTkSuQmCC
</value>
</data>
<data name="btnDelete.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KFxAuHRe5Zv0AAAO2SURBVFhHxZbdT1tlHMc/rK2UUvoyyob0tIV2
7kLN/gMNxo0smOjVvNHpLgxTI84lZrqEyOKFcQoByZLFODEbRrdsMWbJ0Bn3JuWlpRQctoRJAesGlA1h
m8PoJMenJphafwVJTL34PDnn8/s+53nLOS26rv+viDKfiDKfiDLNSAU1cTevJMqoLcdaJmVWo5pq46yD
h5PraekwkaiBB7Mzf7tJswvMo1U0X9b4Iu7lg7iHlps+mtuLeVoFzNl5iTrqTMNmdv4SoKHTxuCTrDvM
1JRLyv5D7Clix4Sb02OVtI542X/Fw6uKhvkATSPlfETNzg3ZfTIJG9k+o9E666PtDejloUe3SLllRFlJ
4fYTJRy9FWDfVT97v/fSOO7jnaSPT2Y1hl6C6uw+bdQXXnHx8e3NnA86iT2BoS07IyHKNKqxquN4PeTg
5M/3qcE9HPnBy1lFbMGL3mJm13K2z8i2SQ+6mvDdExbmMdq3Zj5rJUSZCc/WBw4WcnKqgljKTyzpZVpN
4vcxC3qriWfCDpqCRvSREvRmA1d569Bm6Tm5EKVEBfatZ+3cnHWhxzSWQhXoPTb0S4pv1GRepqBbBZ1S
35UQZS5UY3kB49vh9WrQcvQLii51vbeAM1L+3yDKlfjayCPBjegX72Wpz83dC+o6VIrOpqdsUn41RJmL
/hL2nS9Sq3bz03cayQ8tXJv2MdevdqLHxa8qZJX6rYQoJQbsvNulzrrXzY3JSuKNBYRUwdpkoH2+iuuD
TvROJ6elvishymwGnBzsU6tUW3573M/UIQMTqvDXl63RSHNK7UTcgb4btmX2XQ1RZhK1Uh/ysBhyMxfz
MneqmEV2778/O/eeiSM/VrIQ2bC2oxDlMv1mqiMaC2E3qahGqlut0IatVsqm+ayYr65p6MeKaJLqEqJM
Q9kO66TGuBp8Vq0+NezlTh2GDim7jGocERcziXvUW3G4xy1lshFlmtFSjl72/TmB5Lcerh8v5o4qlErZ
TLBvqZpWjz3u4JhUz0aUQawPjHkIqp/kaMTN5JDGYi2mPVJWos1Iw6j6PKsbu1TPRJRDJp6f8HFGveuh
qIeJsIvfePHAJikroRrjgIEbb0KdVM9ElL0lvDZexam4Rrfa/kRXKUu0f+6RsrlQ/wUeO7eOqFTLRJSD
Zp6b8fNpzM25hJ8x9YoNS7nVqCugU/KZ5JL2LhuRuQBfXnRyq4LiNX1c1oIo03DgfVcDdGzE8rhU/68Q
ZT4RZT4RZT4RZT4RZT4RZT4RZf7Q+QMgTr7iuQrsHAAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnMirror.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KHQ4zNj1snb8AAACpSURBVFhH7Y7LCYAwEAVTgHXaiI2IbXjxbCV2
sSZCJJ+XuAmyHtzAEJgE3hgi+hQoJYFSEii52GMv/MYFSi7/CTDDunkinwSY5SBP6GtAmXKNTyuxAuZ9
1IBXA+7xloCGCCg90XhrADMCSkc23hPAiMASjfcGPETkojTu6A1wFCJyoQEaoAEa4AIqRH9RQIXwrycT
LaQBPUDJRQM+D3gDKCWBUhIo5SBzAofF58BukbQYAAAAAElFTkSuQmCC
</value>
</data>
<data name="btnCopy.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KGxYWLvGteBoAAADpSURBVFhH7ZRRDsMgDEN7gB160o7Vn92MYQoM
Upc2gNKPDekBcQD7p12cc7dCRUuoOMLyWN8MdhZQsYds9lod5SBIVfTSNJaIENVDPajME0WI3YNa/gGA
KkRhHu6WxQghRCtI7O/uSWGUHETAzgIqavADU0b2z6CiFj+etwUozMMq+2dQ8Sqleaz9ws8eQcUrwBSG
WFn/KlQ8Y5Y54CL5jEDuTzIHdZHM2I8EiCAz+G5axpKJIbZJY56YFGKbfj5A2GhCTDIHdYEQrSCxX94Z
hYspiICdHYWKllDREipaQkVLqGgJFe1wywchNgQ27oTpewAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnRotate.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KFQ05E0t1N8QAAADISURBVFhH7ZDdDcMgDAYzQEfqPFmki1RdIy99
ziTdwsUoSIbPTcyPSCpR6QS5EnzKRESnguK2vPdIz9eCggc9FlIZAVcLcL+7w23jO3JAYQwIw3mV7+eC
whAghgeKI1AUfIFt9Xt5lwUUxgB/dhsu97zKM0egyAhIKYlAURHAhIjU/wJFZQDDARyi/ZeCok2A+Sug
aBDAjAArKC4RsMfrQ7VE8+TDEf6C5zpXMQJGwP8HNCC6Uz6cgSp7osqeqLInquyJKvtB0xf7GpRbxtg5
LAAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnMove.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAAd0SU1FB94KFQ0xMVbM/CgAAADwSURBVFhH7Y7RDcMgDEQzQOfsHJW6SNU18tPv
TtItKCZAwbmQOFjOR4r0AJ8Nd4Nz7lCgaAkUexgu4wuBZgko7iGb3UcHWQhSFXtpGnNYiOqjPYjME0WI
2YdS/gEIUYjCPLwtix5CiFaQ2J+940IvOQgDzRJQlOAXbRneXwOKUvy6HRagMA8n768Bxa2U5rH2B55d
AopbIFMypBP1twLFNbTMCSw+Pw6R+0rmRF0ks8f7CmFBNPhdWsYcxRDTJjFPKIWYttMHCBdJCCVzoi4o
RCtI7JdvesFiCsLgcxpA0RIoWgJFS6BoCRQtgaIdbvgCS/kFfmOvgmgAAAAASUVORK5CYII=
</value>
</data>
<metadata name="OpenFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+331 -698
View File
File diff suppressed because it is too large Load Diff
+10
View File
@@ -13,6 +13,16 @@ Public Shared Function GetPrivateProfileInt(
ByVal lpFileName As String) As Integer
End Function
Public Shared Function GetPrivateProfileDouble(
ByVal lpAppName As String,
ByVal lpKeyName As String,
ByVal dDefault As Double,
ByVal lpFileName As String) As Double
Dim sValue As String = String.Empty
GetPrivateProfileString(lpAppName, lpKeyName, dDefault.ToString(), sValue, lpFileName)
Return Double.Parse(sValue, System.Globalization.CultureInfo.InvariantCulture)
End Function
<DllImport("kernel32.dll", CharSet:=CharSet.Unicode)>
Private Shared Function GetPrivateProfileString(
ByVal lpAppName As String,
+2 -2
View File
@@ -43,5 +43,5 @@ Imports System.Runtime.InteropServices
' utilizzando l'asterisco (*) come descritto di seguito:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.5.10.6")>
<Assembly: AssemblyFileVersion("1.5.10.6")>
<Assembly: AssemblyVersion("1.5.10.7")>
<Assembly: AssemblyFileVersion("1.5.10.7")>
-360
View File
@@ -59,365 +59,5 @@ Namespace My.Resources
resourceCulture = value
End Set
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property _New() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("New", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property Analyze() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Analyze", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property Arc3P() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Arc3P", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property ArcCSE() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("ArcCSE", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property Copy() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Copy", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property CurveDir() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("CurveDir", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property Delete() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Delete", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property Exec() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Exec", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property Export() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Export", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property GetDist() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("GetDist", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property Import() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Import", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property InvertCurve() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("InvertCurve", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property Line2P() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Line2P", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property LookFromBACK() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("LookFromBACK", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property LookFromFRONT() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("LookFromFRONT", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property LookFromISO_NE() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("LookFromISO_NE", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property LookFromISO_NW() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("LookFromISO_NW", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property LookFromISO_SE() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("LookFromISO_SE", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property LookFromISO_SW() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("LookFromISO_SW", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property LookFromLEFT() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("LookFromLEFT", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property LookFromRIGHT() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("LookFromRIGHT", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property LookFromTOP() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("LookFromTOP", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property Mirror() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Mirror", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property Move() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Move", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property Open() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Open", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property Plane() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Plane", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property Point() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Point", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property RenderingHL() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("RenderingHL", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property RenderingSH() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("RenderingSH", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property RenderingWF() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("RenderingWF", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property Rotate() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Rotate", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property Save() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("Save", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property SaveAs() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("SaveAs", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property ZoomAll() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("ZoomAll", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property ZoomIn() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("ZoomIn", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property ZoomOut() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("ZoomOut", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
End Module
End Namespace
-109
View File
@@ -117,113 +117,4 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="GetDist" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\GetDist.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Plane" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Plane.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Rotate" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Rotate.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Analyze" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Analyze.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="LookFromISO_NE" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\LookFromISO_NE.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="LookFromTOP" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\LookFromTOP.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Copy" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Copy.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Line2P" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Line2P.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="LookFromBACK" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\LookFromBACK.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Mirror" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Mirror.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="LookFromISO_SE" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\LookFromISO_SE.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="RenderingWF" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\RenderingWF.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Move" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Move.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="LookFromRIGHT" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\LookFromRIGHT.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="CurveDir" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\CurveDir.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Point" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Point.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="RenderingHL" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\RenderingHL.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Exec" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Exec.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ZoomOut" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ZoomOut.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Export" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Export.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="New" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\New.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Import" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Import.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="SaveAs" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\SaveAs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Delete" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ZoomIn" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ZoomIn.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ArcCSE" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ArcCSE.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="LookFromLEFT" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\LookFromLEFT.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Save" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Save.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Arc3P" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Arc3P.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="LookFromFRONT" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\LookFromFRONT.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ZoomAll" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ZoomAll.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="RenderingSH" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\RenderingSH.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Open" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Open.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="LookFromISO_SW" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\LookFromISO_SW.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="LookFromISO_NW" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\LookFromISO_NW.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="InvertCurve" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\InvertCurve.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 340 B

After

Width:  |  Height:  |  Size: 340 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 375 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 338 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 326 B

After

Width:  |  Height:  |  Size: 352 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 B

After

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 811 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 B

+21 -13
View File
@@ -28,18 +28,19 @@ Partial Class Scene
Me.cmdDeselectAll = New System.Windows.Forms.ToolStripMenuItem()
Me.SepSel1 = New System.Windows.Forms.ToolStripSeparator()
Me.cmdWinSelect = New System.Windows.Forms.ToolStripMenuItem()
Me.cmdSketchPoint = New System.Windows.Forms.ToolStripMenuItem()
Me.cmdGridPoint = New System.Windows.Forms.ToolStripMenuItem()
Me.cmdEndPoint = New System.Windows.Forms.ToolStripMenuItem()
Me.cmdMidPoint = New System.Windows.Forms.ToolStripMenuItem()
Me.cmdCenterPoint = New System.Windows.Forms.ToolStripMenuItem()
Me.cmdNearPoint = New System.Windows.Forms.ToolStripMenuItem()
Me.cmdSketchPoint = New System.Windows.Forms.ToolStripMenuItem()
Me.cmdGridPoint = New System.Windows.Forms.ToolStripMenuItem()
Me.cmdResumeDrag = New System.Windows.Forms.ToolStripMenuItem()
Me.MenuScene.SuspendLayout()
Me.SuspendLayout()
'
'MenuScene
'
Me.MenuScene.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cmdSelectAll, Me.cmdDeselectAll, Me.SepSel1, Me.cmdWinSelect, Me.cmdSketchPoint, Me.cmdGridPoint, Me.cmdEndPoint, Me.cmdMidPoint, Me.cmdCenterPoint, Me.cmdNearPoint})
Me.MenuScene.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cmdSelectAll, Me.cmdDeselectAll, Me.SepSel1, Me.cmdWinSelect, Me.cmdResumeDrag, Me.cmdSketchPoint, Me.cmdGridPoint, Me.cmdEndPoint, Me.cmdMidPoint, Me.cmdCenterPoint, Me.cmdNearPoint})
Me.MenuScene.Name = "ContextMenuStrip1"
Me.MenuScene.ShowCheckMargin = True
Me.MenuScene.ShowImageMargin = False
@@ -68,6 +69,18 @@ Partial Class Scene
Me.cmdWinSelect.Size = New System.Drawing.Size(152, 22)
Me.cmdWinSelect.Text = "Select Window"
'
'cmdSketchPoint
'
Me.cmdSketchPoint.Name = "cmdSketchPoint"
Me.cmdSketchPoint.Size = New System.Drawing.Size(152, 22)
Me.cmdSketchPoint.Text = "Sketch Point"
'
'cmdGridPoint
'
Me.cmdGridPoint.Name = "cmdGridPoint"
Me.cmdGridPoint.Size = New System.Drawing.Size(152, 22)
Me.cmdGridPoint.Text = "Grid Point"
'
'cmdEndPoint
'
Me.cmdEndPoint.Name = "cmdEndPoint"
@@ -92,17 +105,11 @@ Partial Class Scene
Me.cmdNearPoint.Size = New System.Drawing.Size(152, 22)
Me.cmdNearPoint.Text = "Near Point"
'
'cmdSketchPoint
'cmdResumeDrag
'
Me.cmdSketchPoint.Name = "cmdSketchPoint"
Me.cmdSketchPoint.Size = New System.Drawing.Size(152, 22)
Me.cmdSketchPoint.Text = "Sketch Point"
'
'cmdGridPoint
'
Me.cmdGridPoint.Name = "cmdGridPoint"
Me.cmdGridPoint.Size = New System.Drawing.Size(152, 22)
Me.cmdGridPoint.Text = "Grid Point"
Me.cmdResumeDrag.Name = "cmdResumeDrag"
Me.cmdResumeDrag.Size = New System.Drawing.Size(152, 22)
Me.cmdResumeDrag.Text = "ResumeDrag"
'
'Scene
'
@@ -125,5 +132,6 @@ End Sub
Friend WithEvents SepSel1 As System.Windows.Forms.ToolStripSeparator
Friend WithEvents cmdSketchPoint As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents cmdGridPoint As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents cmdResumeDrag As System.Windows.Forms.ToolStripMenuItem
End Class
+187 -87
View File
@@ -14,18 +14,20 @@ Public Class Scene
Private m_nOldStatus As ST
Private Enum ST As Integer
NULL = 0
PAN = 1
ROT = 2
ZOOMWIN = 3
WINSEL = 4
ANALYZE = 5
GETDIST = 6
GETDIST2 = 7
SELPOINT = 8
PAN
ROT
ZOOMWIN
WINSEL
ANALYZE
GETDIST
GETDIST2
SELPOINT
SELPOINTZ
End Enum
Private m_nSnapType As Integer
Private m_PrevPoint As Point
Private m_ptPrev As Point3d
Private m_ptGrid As Point3d
Private m_nDriver As Integer
Private m_b2Buff As Boolean
Private m_nColorBits As Integer
@@ -38,7 +40,6 @@ Public Class Scene
Private m_ZwColor As Color3d
Private m_DstLnColor As Color3d
'---- Constructor -----
Sub New()
' Chiamata richiesta dalla finestra di progettazione.
@@ -188,7 +189,7 @@ Public Class Scene
If e.Button = Windows.Forms.MouseButtons.Left Then
' se stato WINSEL oppure NULL e premuto SHIFT allora inizio selezione a finestra
If m_nStatus = ST.WINSEL Or
(m_nStatus = ST.NULL And (Control.ModifierKeys And Keys.Shift) = Keys.Shift) Then
(m_nStatus = ST.NULL And (ModifierKeys And Keys.Shift) = Keys.Shift) Then
Cursor = New Cursor(Me.GetType(), "WinSelect.cur")
m_PrevPoint = e.Location
m_nStatus = ST.WINSEL
@@ -258,29 +259,47 @@ Public Class Scene
' se stato selezione punto
ElseIf m_nStatus = ST.SELPOINT Then
If EgtGetGraphicSnapPoint(m_nSnapType, e.Location, DIM_SEL, DIM_SEL, m_ptPrev) Then
' se Snap Sketch o Grid e premuto SHIFT si passa a modalità elevatore
If (m_nSnapType = SP.PT_SKETCH Or m_nSnapType = SP.PT_GRID) And
(ModifierKeys And Keys.Shift) = Keys.Shift Then
m_nStatus = ST.SELPOINTZ
m_ptGrid = m_ptPrev
' altrimenti si restituisce il punto
Else
RaiseEvent OnMouseSelectedPoint(Me, m_ptPrev)
End If
End If
' se stato selezione Z di punto
ElseIf m_nStatus = ST.SELPOINTZ Then
If EgtGetGridSnapPointZ((m_nSnapType = SP.PT_SKETCH), e.Location, m_ptGrid, m_ptPrev) Then
' ritorno allo stato base di selezione punto
m_nStatus = ST.SELPOINT
RaiseEvent OnMouseSelectedPoint(Me, m_ptPrev)
End If
End If
' --- Pressione tasto medio (rotella) ---
ElseIf e.Button = Windows.Forms.MouseButtons.Middle Then
' se premuto SHIFT entro in zoom a finestra
If (Control.ModifierKeys And Keys.Shift) = Keys.Shift Then
SaveCurrStatus()
m_nStatus = ST.ZOOMWIN
Cursor = New Cursor(Me.GetType(), "ZoomWin.cur")
' se premuto CTRL entro in rotazione vista
ElseIf (Control.ModifierKeys And Keys.Control) = Keys.Control Then
SaveCurrStatus()
m_nStatus = ST.ROT
Cursor = New Cursor(Me.GetType(), "Rotate.cur")
' altrimenti entro in pan
Else
SaveCurrStatus()
m_nStatus = ST.PAN
Cursor = New Cursor(Me.GetType(), "Pan.cur")
' devo essere in uno stato ripristinabile
If IsRestorableCurrStatus() Then
' se premuto SHIFT entro in zoom a finestra
If (ModifierKeys And Keys.Shift) = Keys.Shift Then
SaveCurrStatus()
m_nStatus = ST.ZOOMWIN
Cursor = New Cursor(Me.GetType(), "ZoomWin.cur")
' se premuto CTRL entro in rotazione vista
ElseIf (ModifierKeys And Keys.Control) = Keys.Control Then
SaveCurrStatus()
m_nStatus = ST.ROT
Cursor = New Cursor(Me.GetType(), "Rotate.cur")
' altrimenti entro in pan
Else
SaveCurrStatus()
m_nStatus = ST.PAN
Cursor = New Cursor(Me.GetType(), "Pan.cur")
End If
' salvo il punto in coordinate finestra
m_PrevPoint = e.Location
End If
' salvo il punto in coordinate finestra
m_PrevPoint = e.Location
' --- Tutti gli altri casi ---
Else
MyBase.OnMouseDown(e)
@@ -351,29 +370,39 @@ Public Class Scene
Next
ElseIf m_nStatus = ST.GETDIST Or m_nStatus = ST.GETDIST2 Or m_nStatus = ST.SELPOINT Then
MenuScene.Visible = True
For Each i As ToolStripItem In MenuScene.Items
If i.Name = "cmdSketchPoint" Then
i.Visible = True
DirectCast(i, ToolStripMenuItem).Checked = (m_nSnapType = SP.PT_SKETCH)
ElseIf i.Name = "cmdGridPoint" Then
i.Visible = True
DirectCast(i, ToolStripMenuItem).Checked = (m_nSnapType = SP.PT_GRID)
ElseIf i.Name = "cmdEndPoint" Then
i.Visible = True
DirectCast(i, ToolStripMenuItem).Checked = (m_nSnapType = SP.PT_END)
ElseIf i.Name = "cmdMidPoint" Then
i.Visible = True
DirectCast(i, ToolStripMenuItem).Checked = (m_nSnapType = SP.PT_MID)
ElseIf i.Name = "cmdCenterPoint" Then
i.Visible = True
DirectCast(i, ToolStripMenuItem).Checked = (m_nSnapType = SP.CENTER)
ElseIf i.Name = "cmdNearPoint" Then
i.Visible = True
DirectCast(i, ToolStripMenuItem).Checked = (m_nSnapType = SP.PT_NEAR)
Else
i.Visible = False
End If
Next
If m_bDragOn Then
For Each i As ToolStripItem In MenuScene.Items
If i.Name = "cmdSketchPoint" Then
i.Visible = True
DirectCast(i, ToolStripMenuItem).Checked = (m_nSnapType = SP.PT_SKETCH)
ElseIf i.Name = "cmdGridPoint" Then
i.Visible = True
DirectCast(i, ToolStripMenuItem).Checked = (m_nSnapType = SP.PT_GRID)
ElseIf i.Name = "cmdEndPoint" Then
i.Visible = True
DirectCast(i, ToolStripMenuItem).Checked = (m_nSnapType = SP.PT_END)
ElseIf i.Name = "cmdMidPoint" Then
i.Visible = True
DirectCast(i, ToolStripMenuItem).Checked = (m_nSnapType = SP.PT_MID)
ElseIf i.Name = "cmdCenterPoint" Then
i.Visible = True
DirectCast(i, ToolStripMenuItem).Checked = (m_nSnapType = SP.CENTER)
ElseIf i.Name = "cmdNearPoint" Then
i.Visible = True
DirectCast(i, ToolStripMenuItem).Checked = (m_nSnapType = SP.PT_NEAR)
Else
i.Visible = False
End If
Next
Else
For Each i As ToolStripItem In MenuScene.Items
If i.Name = "cmdResumeDrag" Then
i.Visible = True
Else
i.Visible = False
End If
Next
End If
Else
MenuScene.Visible = False
End If
@@ -393,15 +422,13 @@ Public Class Scene
If nOldGseCtx <> m_nGseContext Then
EgtSetCurrentContext(m_nGseContext)
End If
'Visualizzo le coordinate del mouse
' Visualizzo le coordinate del mouse
ShowCursorPos(e.Location)
' --- Premuto tasto sinistro ---
If e.Button = Windows.Forms.MouseButtons.Left Then
If m_nStatus = ST.WINSEL Then
Cursor = New Cursor(Me.GetType(), "WinSelect.cur")
EgtSetWinRect(m_PrevPoint, e.Location, True)
'Else
' m_nStatus = ST.NULL
End If
' --- Premuto tasto centrale (rotella) ---
ElseIf e.Button = Windows.Forms.MouseButtons.Middle Then
@@ -433,10 +460,22 @@ Public Class Scene
EgtUnProjectPoint(e.Location, ptP)
EgtSetGeoLine(m_ptPrev, ptP)
ElseIf m_nStatus = ST.SELPOINT Then
Cursor = New Cursor(Me.GetType(), "Select.cur")
Cursor = New Cursor(Me.GetType(), "SelPoint.cur")
Dim ptP As Point3d
If EgtGetGraphicSnapPoint(SP.PT_SKETCH, e.Location, DIM_SEL, DIM_SEL, ptP) Then
RaiseEvent OnMouseMoveSelPoint(Me, ptP)
If EgtGetGraphicSnapPoint(IIf(m_nSnapType = SP.PT_GRID, SP.PT_GRID, SP.PT_SKETCH),
e.Location, DIM_SEL, DIM_SEL, ptP) Then
If m_bDragOn Then
RaiseEvent OnMouseMoveSelPoint(Me, ptP)
End If
End If
ElseIf m_nStatus = ST.SELPOINTZ Then
Cursor = New Cursor(Me.GetType(), "SelPoint.cur")
Dim ptP As Point3d
If EgtGetGridSnapPointZ((m_nSnapType = SP.PT_SKETCH), e.Location, m_ptGrid, ptP) Then
EgtSetGeoLine(m_ptGrid, ptP)
If m_bDragOn Then
RaiseEvent OnMouseMoveSelPoint(Me, ptP)
End If
End If
Else
MyBase.OnMouseMove(e)
@@ -451,9 +490,8 @@ Public Class Scene
End Sub
Protected Overrides Sub OnMouseWheel(e As System.Windows.Forms.MouseEventArgs)
' devo essere nello stato NULL o ANALYZE o GETDIST o SELPOINT
If m_nStatus <> ST.NULL And m_nStatus <> ST.ANALYZE And m_nStatus <> ST.GETDIST And
m_nStatus <> ST.GETDIST2 And m_nStatus <> ST.SELPOINT Then
' devo essere in uno stato ripristinabile
If Not IsRestorableCurrStatus() Then
Return
End If
' trascuro rotazioni molto piccole
@@ -480,39 +518,62 @@ Public Class Scene
End Sub
Private Sub ShowCursorPos(ByVal WinXY As Point)
'ricavo punto 3d
Dim ptWorld As Point3d
EgtUnProjectPoint(WinXY, ptWorld)
'ricavo direzione di vista
Dim nDir As Integer
EgtGetCameraDir(nDir)
'costruisco stringa con dati
Dim sCursorPos As New System.Text.StringBuilder
Select Case nDir
Case VT.TOP, VT.BOTTOM
Dim ptWorld As Point3d
' se lo stato prevede lo snap a un punto e riesco a ricavare un punto 3d snap
If (m_nStatus = ST.GETDIST Or m_nStatus = ST.GETDIST2 Or m_nStatus = ST.SELPOINT) And
EgtGetGraphicSnapPoint(IIf(m_nSnapType = SP.PT_GRID, SP.PT_GRID, SP.PT_SKETCH),
WinXY, DIM_SEL, DIM_SEL, ptWorld) Then
sCursorPos.Append("X=")
sCursorPos.Append(ptWorld.x.ToString("F4", CultureInfo.InvariantCulture))
sCursorPos.Append(" Y=")
sCursorPos.Append(ptWorld.y.ToString("F4", CultureInfo.InvariantCulture))
Case VT.FRONT, VT.BACK
sCursorPos.Append("X=")
sCursorPos.Append(ptWorld.x.ToString("F4", CultureInfo.InvariantCulture))
sCursorPos.Append(" Z=")
sCursorPos.Append(ptWorld.z.ToString("F4", CultureInfo.InvariantCulture))
Case VT.LEFT, VT.RIGHT
sCursorPos.Append("Y=")
' se snap a punto in Z e riesco a ricavare un punto 3d snap
ElseIf m_nStatus = ST.SELPOINTZ And
EgtGetGridSnapPointZ((m_nSnapType = SP.PT_SKETCH), WinXY, m_ptGrid, ptWorld) Then
sCursorPos.Append("X=")
sCursorPos.Append(ptWorld.x.ToString("F4", CultureInfo.InvariantCulture))
sCursorPos.Append(" Y=")
sCursorPos.Append(ptWorld.y.ToString("F4", CultureInfo.InvariantCulture))
sCursorPos.Append(" Z=")
sCursorPos.Append(ptWorld.z.ToString("F4", CultureInfo.InvariantCulture))
Case Else
sCursorPos.Append(" ")
End Select
' altrimenti ricavo il punto 3d da proiezione inversa
Else
EgtUnProjectPoint(WinXY, ptWorld)
'ricavo direzione di vista
Dim nDir As Integer
EgtGetCameraDir(nDir)
'costruisco stringa con dati
Select Case nDir
Case VT.TOP, VT.BOTTOM
sCursorPos.Append("X=")
sCursorPos.Append(ptWorld.x.ToString("F4", CultureInfo.InvariantCulture))
sCursorPos.Append(" Y=")
sCursorPos.Append(ptWorld.y.ToString("F4", CultureInfo.InvariantCulture))
Case VT.FRONT, VT.BACK
sCursorPos.Append("X=")
sCursorPos.Append(ptWorld.x.ToString("F4", CultureInfo.InvariantCulture))
sCursorPos.Append(" Z=")
sCursorPos.Append(ptWorld.z.ToString("F4", CultureInfo.InvariantCulture))
Case VT.LEFT, VT.RIGHT
sCursorPos.Append("Y=")
sCursorPos.Append(ptWorld.y.ToString("F4", CultureInfo.InvariantCulture))
sCursorPos.Append(" Z=")
sCursorPos.Append(ptWorld.z.ToString("F4", CultureInfo.InvariantCulture))
Case Else
sCursorPos.Append(" ")
End Select
End If
' lancio l'evento per visualizzare la stringa
RaiseEvent OnCursorPos(Me, sCursorPos.ToString)
End Sub
Private Sub MenuScene_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs) Handles MenuScene.ItemClicked
' Per selezione
If e.ClickedItem.Name = "cmdSelectAll" Then
ElseIf e.ClickedItem.Name = "cmdDeselectAll" Then
@@ -520,6 +581,11 @@ Public Class Scene
EgtDraw()
ElseIf e.ClickedItem.Name = "cmdWinSelect" Then
m_nStatus = ST.WINSEL
' Riabilitazione drag sospeso
ElseIf e.ClickedItem.Name = "cmdResumeDrag" Then
EgtResetGeoLine()
m_bDragOn = True
' Scelta tipo punto snap
ElseIf e.ClickedItem.Name = "cmdSketchPoint" Then
m_nSnapType = SP.PT_SKETCH
ElseIf e.ClickedItem.Name = "cmdGridPoint" Then
@@ -536,20 +602,26 @@ Public Class Scene
End Sub
'---- Status management -------------
Private Function IsRestorableCurrStatus() As Boolean
Select Case m_nStatus
Case ST.NULL, ST.ANALYZE, ST.GETDIST, ST.GETDIST2, ST.SELPOINT, ST.SELPOINTZ
Return True
Case Else
Return False
End Select
End Function
Private Sub SaveCurrStatus()
If m_nStatus = ST.WINSEL Or
m_nStatus = ST.ANALYZE Or
m_nStatus = ST.GETDIST Or m_nStatus = ST.GETDIST2 Or
m_nStatus = ST.SELPOINT Then
If IsRestorableCurrStatus() Then
m_nOldStatus = m_nStatus
End If
End Sub
Private Function RestoreStatus() As Boolean
' eventuale ripristino vecchio stato
If m_nOldStatus = ST.WINSEL Then
If m_nOldStatus = ST.NULL Then
m_nStatus = m_nOldStatus
Cursor = New Cursor(Me.GetType(), "WinSelect.cur")
Cursor = New Cursor(Me.GetType(), "Select.cur")
Return True
ElseIf m_nOldStatus = ST.ANALYZE Then
m_nStatus = m_nOldStatus
@@ -559,9 +631,9 @@ Public Class Scene
m_nStatus = m_nOldStatus
Cursor = New Cursor(Me.GetType(), "GetDist.cur")
Return True
ElseIf m_nOldStatus = ST.SELPOINT Then
ElseIf m_nOldStatus = ST.SELPOINT Or m_nOldStatus = ST.SELPOINTZ Then
m_nStatus = m_nOldStatus
Cursor = New Cursor(Me.GetType(), "Select.cur")
Cursor = New Cursor(Me.GetType(), "SelPoint.cur")
Return True
End If
Return False
@@ -587,6 +659,8 @@ Public Class Scene
' imposto lo stato
m_nStatus = ST.NULL
m_nOldStatus = ST.NULL
' abilito drag
m_bDragOn = True
' aggiorno visualizzazione
If bRedraw Then
EgtDraw()
@@ -610,8 +684,21 @@ Public Class Scene
End Sub
'---- Drag Group ------
Private m_bDragOn As Boolean = True
Private m_nDragGroup As Integer = GDB_ID.NULL
Public Sub EnableDrag()
m_bDragOn = True
End Sub
Public Sub DisableDrag()
m_bDragOn = False
End Sub
Public Function GetDragStatus() As Boolean
Return m_bDragOn
End Function
Public Function CreateDragGroup() As Boolean
m_nDragGroup = EgtCreateGroup(GDB_ID.ROOT)
If m_nDragGroup = GDB_ID.NULL Then
@@ -631,7 +718,14 @@ Public Class Scene
End Function
Public Function AddToDragGroup(ByVal nId As Integer) As Boolean
Return EgtCopyGlob(nId, m_nDragGroup, GDB_POS.SON) <> GDB_ID.NULL
Dim nNewId As Integer = EgtCopyGlob(nId, m_nDragGroup, GDB_POS.SON)
If nNewId = GDB_ID.NULL Then
Return False
End If
Dim ColObj As Color3d
EgtGetCalcColor(nId, ColObj)
EgtSetColor(nNewId, ColObj)
Return True
End Function
Public Function GetDragGroup() As Integer
@@ -639,8 +733,14 @@ Public Class Scene
End Function
'---- Main Buttons ----
Public Function NewProject() As Boolean
Public Function NewProject(Optional ByVal bCreatePart As Boolean = False) As Boolean
Dim bOk As Boolean = EgtNewFile()
If bCreatePart Then
' inserisco un nuovo gruppo (piece) sotto la radice
Dim nIdNewPart As Integer = EgtCreateGroup(GDB_ID.ROOT)
' inserisco un nuovo gruppo (layer) sotto quello appena creato
Dim nIdNewLayer As Integer = EgtCreateGroup(nIdNewPart)
End If
EgtZoom(ZM.ALL)
If bOk Then
RaiseEvent OnNewProject(Me)
+13 -6
View File
@@ -154,6 +154,12 @@
<Compile Include="AboutBox1.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Controller.vb" />
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="SelectMulti.Designer.vb">
<DependentUpon>SelectMulti.vb</DependentUpon>
</Compile>
@@ -174,11 +180,6 @@
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
@@ -200,9 +201,9 @@
</EmbeddedResource>
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Scene.resx">
<DependentUpon>Scene.vb</DependentUpon>
@@ -372,6 +373,12 @@
<ItemGroup>
<None Include="Resources\InvertCurve.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\JoinCurve.png" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Resources\SelPoint.cur" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<PropertyGroup>
<PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\TestEIn\TestEInR32.exe