TestEIN 1.5k1 :

- gestione Cplane/Grid
- gestione visualizza/nascondi
- aggiunta spezza entità sul punto.
This commit is contained in:
Dario Sassi
2014-11-11 10:36:58 +00:00
parent 6a3cec0037
commit 6c01a2f821
20 changed files with 971 additions and 185 deletions
+227 -53
View File
@@ -24,7 +24,7 @@ Public Class Controller
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)
Public Event UpdateUI(ByVal sender As Object, ByVal bReloadUI As Boolean)
' Documento e vista
Private m_Scene As Scene
@@ -32,12 +32,18 @@ Public Class Controller
' Stato e comandi
Public Enum CMD As Integer
NULL = 0
GRID
GRID_ELEVATION
GRID_ORIGIN
GRID_ROTATE
GRID_3P
NEWPART
NEWLAYER
SETCURRPARTLAYER
RESETCURRPARTLAYER
DELETEPARTLAYER
LAYERCOLOR
SHOW
HIDE
POINT
LINE2P
ARCCSE
@@ -50,17 +56,35 @@ Public Class Controller
CHANGECOLOR
RESETCOLOR
INVERTCRVSURF
BREAKCURVE
JOINCURVE
SPLITCURVE
SEPARATECURVE
MOVE
COPY
ROTATE
ROTATE3D
MIRROR
End Enum
Public Enum GRID_TYPE As Integer
NONE = 0
TOP
FRONT
RIGHT
BACK
LEFT
BOTTOM
End Enum
Private m_nLastCmd As CMD = CMD.NULL
Private Enum EST As Integer
NULL = 0
GRID_ELEVATION_1
GRID_ORIGIN_1
GRID_ROTATE_1
GRID_ROTATE_2
GRID_ROTATE_3
GRID_3P_1
GRID_3P_2
GRID_3P_3
POINT_1
LINE2P_1
LINE2P_2
@@ -75,6 +99,7 @@ Public Class Controller
EXTRUDE_1
REVOLVE_1
REVOLVE_2
BREAKCURVE_1
MOVE_1
MOVE_2
COPY_1
@@ -150,6 +175,54 @@ Public Class Controller
End If
' eseguo il comando
Select Case nCmd
Case CMD.GRID
Dim frNew As New Frame3d
Select Case m_nLast1
Case GRID_TYPE.TOP
frNew.Setup(Point3d.ORIG, Vector3d.X_AX, Vector3d.Y_AX, Vector3d.Z_AX)
Case GRID_TYPE.FRONT
frNew.Setup(Point3d.ORIG, Vector3d.X_AX, Vector3d.Z_AX, -Vector3d.Y_AX)
Case GRID_TYPE.RIGHT
frNew.Setup(Point3d.ORIG, Vector3d.Y_AX, Vector3d.Z_AX, Vector3d.X_AX)
Case GRID_TYPE.BACK
frNew.Setup(Point3d.ORIG, -Vector3d.X_AX, Vector3d.Z_AX, Vector3d.Y_AX)
Case GRID_TYPE.LEFT
frNew.Setup(Point3d.ORIG, -Vector3d.Y_AX, Vector3d.Z_AX, -Vector3d.X_AX)
Case GRID_TYPE.BOTTOM
frNew.Setup(Point3d.ORIG, -Vector3d.X_AX, Vector3d.Y_AX, -Vector3d.Z_AX)
Case Else
Return False
End Select
EgtSetGridFrame(frNew)
EgtDraw()
Case CMD.GRID_ELEVATION
' non serve il gruppo di drag
m_Scene.SetStatusSelPoint()
' imposto stato a primo punto per elevazione griglia
m_nStatus = EST.GRID_ELEVATION_1
' abilito dialogo
RaiseEvent SetInputBox("GRID", "Insert Elevation", IBT.TY_DOUBLE)
Case CMD.GRID_ORIGIN
' non serve il gruppo di drag
m_Scene.SetStatusSelPoint()
' imposto stato a primo punto per origine griglia
m_nStatus = EST.GRID_ORIGIN_1
' abilito dialogo
RaiseEvent SetInputBox("GRID", "Insert Origin", IBT.TY_POINT3D)
Case CMD.GRID_ROTATE
' non serve il gruppo di drag
m_Scene.SetStatusSelPoint()
' imposto stato a primo punto per rotazione griglia
m_nStatus = EST.GRID_ROTATE_1
' abilito dialogo
RaiseEvent SetInputBox("GRID ROTATE", "Insert First Point on Axis", IBT.TY_POINT3D)
Case CMD.GRID_3P
' non serve il gruppo di drag
m_Scene.SetStatusSelPoint()
' imposto stato a primo punto per rotazione griglia
m_nStatus = EST.GRID_3P_1
' abilito dialogo
RaiseEvent SetInputBox("GRID 3 POINTS", "Insert Origin", IBT.TY_POINT3D)
Case CMD.NEWPART
' inserisco un nuovo gruppo (piece) sotto la radice
Dim nIdNewPart As Integer = EgtCreateGroup(GDB_ID.ROOT)
@@ -173,16 +246,6 @@ Public Class Controller
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
@@ -205,6 +268,26 @@ Public Class Controller
SetModified()
EgtDraw()
End If
Case CMD.SHOW
If m_nLast1 <> GDB_ID.NULL Then
Dim nStat As GDB_ST = GDB_ST.ON_
EgtGetStatus(m_nLast1, nStat)
If nStat = GDB_ST.OFF Then
EgtSetStatus(m_nLast1, GDB_ST.ON_)
SetModified(False)
EgtDraw()
End If
End If
Case CMD.HIDE
If m_nLast1 <> GDB_ID.NULL Then
Dim nStat As GDB_ST = GDB_ST.ON_
EgtGetStatus(m_nLast1, nStat)
If nStat <> GDB_ST.OFF Then
EgtSetStatus(m_nLast1, GDB_ST.OFF)
SetModified(False)
EgtDraw()
End If
End If
Case CMD.POINT
' posso partire solo se esiste un gruppo corrente
If GetCurrLayer() = GDB_ID.NULL Then
@@ -285,7 +368,6 @@ Public Class Controller
' 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
@@ -310,14 +392,18 @@ Public Class Controller
' 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)
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
' reset
m_Scene.ResetStatus()
m_nStatus = EST.NULL
SetModified()
End If
Case CMD.CHANGECOLOR
' verifico ci sia qualcosa di selezionato
Dim nId As Integer = EgtGetFirstSelectedObj()
@@ -343,7 +429,6 @@ Public Class Controller
' reset stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
Case CMD.RESETCOLOR
' verifico ci sia qualcosa di selezionato
Dim nId As Integer = EgtGetFirstSelectedObj()
@@ -358,15 +443,14 @@ Public Class Controller
' 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
Case GDB_TY.CRV_LINE, GDB_TY.CRV_ARC, GDB_TY.CRV_BEZ, GDB_TY.CRV_COMPO
EgtInvertCurve(nId)
Case TY.SRF_MESH
Case GDB_TY.SRF_MESH
EgtInvertSurface(nId)
End Select
nId = EgtGetNextSelectedObj()
@@ -377,7 +461,12 @@ Public Class Controller
' reset stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
Case CMD.BREAKCURVE
m_Scene.SetStatusSelPoint()
' imposto stato a punto per BreakCurve
m_nStatus = EST.BREAKCURVE_1
' abilito dialogo
RaiseEvent SetInputBox("BREAK", "Insert Point on Curve", IBT.TY_POINT3D)
Case CMD.JOINCURVE
' posso partire solo se esiste un gruppo corrente
If GetCurrLayer() = GDB_ID.NULL Then
@@ -400,17 +489,15 @@ Public Class Controller
' reset stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
Case CMD.SPLITCURVE
Case CMD.SEPARATECURVE
' divido la curva composita nelle curve componenti
EgtSplitCurveCompo(EgtGetFirstSelectedObj())
EgtSeparateCurveCompo(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
@@ -496,6 +583,75 @@ Public Class Controller
Public Function GoToNextStatus() As Boolean
Select Case m_nStatus
' Grid origin
Case EST.GRID_ELEVATION_1
' recupero il piano di griglia corrente
Dim frCurr As New Frame3d
EgtGetGridFrame(frCurr)
' cambio l'elevazione dell'origine
frCurr.Move(EgtGetGridVersZ() * m_dLast)
' imposto nuova griglia
EgtSetGridFrame(frCurr)
' reset stato scena
m_Scene.ResetStatus()
' aggiorno stato
m_nStatus = EST.NULL
RaiseEvent UpdateUI(Me, False)
Case EST.GRID_ORIGIN_1
' recupero il piano di griglia corrente
Dim frCurr As New Frame3d
EgtGetGridFrame(frCurr)
' ne modifico l'origine
frCurr.Move(m_ptLast - frCurr.Orig())
' imposto nuova griglia
EgtSetGridFrame(frCurr)
' reset stato scena
m_Scene.ResetStatus()
' aggiorno stato
m_nStatus = EST.NULL
RaiseEvent UpdateUI(Me, False)
Case EST.GRID_ROTATE_1
m_ptP1 = m_ptLast
m_ptP2 = m_ptP1
m_nStatus = EST.GRID_ROTATE_2
RaiseEvent SetInputBox("GRID ROTATE", "Insert Second Point on Axis", IBT.TY_POINT3D)
Case EST.GRID_ROTATE_2
m_ptP2 = m_ptLast
m_nStatus = EST.GRID_ROTATE_3
RaiseEvent SetInputBox("GRID ROTATE", "Insert angle", IBT.TY_DOUBLE)
Case EST.GRID_ROTATE_3
' eseguo rotazione
Dim VtAx As Vector3d = m_ptP2 - m_ptP1
Dim frCurr As New Frame3d
EgtGetGridFrame(frCurr)
frCurr.Rotate(m_ptP1, VtAx, m_dLast)
EgtSetGridFrame(frCurr)
' reset
m_Scene.ResetStatus()
m_nStatus = EST.NULL
RaiseEvent UpdateUI(Me, False)
Case EST.GRID_3P_1
m_ptP1 = m_ptLast
m_ptP2 = m_ptP1
m_nStatus = EST.GRID_3P_2
RaiseEvent SetInputBox("GRID 3 POINTS", "Insert Point on X Axis", IBT.TY_POINT3D)
Case EST.GRID_3P_2
m_ptP2 = m_ptLast
m_nStatus = EST.GRID_3P_3
RaiseEvent SetInputBox("GRID 3 POINTS", "Insert Point Near Y Axis", IBT.TY_POINT3D)
Case EST.GRID_3P_3
' calcolo griglia per 3 punti
Dim frCurr As New Frame3d
If Not frCurr.Setup(m_ptP1, m_ptP2, m_ptLast) Then
m_Scene.ResetStatus()
m_nStatus = EST.NULL
Return False
End If
EgtSetGridFrame(frCurr)
' reset
m_Scene.ResetStatus()
m_nStatus = EST.NULL
RaiseEvent UpdateUI(Me, False)
' Point
Case EST.POINT_1
' creo il punto (i dati sono in globale)
@@ -505,7 +661,6 @@ Public Class Controller
' aggiorno stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
' Line2P
Case EST.LINE2P_1
m_ptP1 = m_ptLast
@@ -521,7 +676,6 @@ Public Class Controller
' aggiorno stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
' CircleCR
Case EST.CIRCLECR_1
m_ptP1 = m_ptLast
@@ -537,7 +691,6 @@ Public Class Controller
' aggiorno stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
' ArcCSE
Case EST.ARCCSE_1
m_ptP1 = m_ptLast
@@ -558,7 +711,6 @@ Public Class Controller
' aggiorno stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
' Arc3P
Case EST.ARC3P_1
m_ptP1 = m_ptLast
@@ -579,20 +731,18 @@ Public Class Controller
' 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)
Dim VtExtr As Vector3d = EgtGetGridVersZ().Loc(GetCurrLayer()) * 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
@@ -612,7 +762,16 @@ Public Class Controller
' aggiorno stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
' Break Curve
Case EST.BREAKCURVE_1
' eseguo spezzatura
EgtSplitCurveAtPoint(EgtGetFirstSelectedObj(), m_ptLast)
EgtDeselectAll()
' reset stato scena
m_Scene.ResetStatus()
' aggiorno stato
m_nStatus = EST.NULL
SetModified()
' Move
Case EST.MOVE_1
m_ptP1 = m_ptLast
@@ -628,7 +787,6 @@ Public Class Controller
' aggiorno stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
' Copy
Case EST.COPY_1
m_ptP1 = m_ptLast
@@ -650,7 +808,6 @@ Public Class Controller
' aggiorno stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
' Rotate
Case EST.ROTATE_1
m_ptP1 = m_ptLast
@@ -661,6 +818,7 @@ Public Class Controller
m_ptP2 = m_ptLast
m_nStatus = EST.ROTATE_3
m_Scene.EnableDrag()
EgtSetGeoLine(m_ptP1, m_ptLast)
RaiseEvent SetInputBox("ROTATE", "Insert Rotation Point", IBT.TY_POINT3D)
Case EST.ROTATE_3
' eseguo rotazione
@@ -674,7 +832,6 @@ Public Class Controller
' aggiorno stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
' Rotate3d
Case EST.ROTATE3D_1
m_ptP1 = m_ptLast
@@ -685,6 +842,7 @@ Public Class Controller
Case EST.ROTATE3D_2
m_ptP2 = m_ptLast
m_nStatus = EST.ROTATE3D_3
m_dLast = 0
' abilito dialogo
RaiseEvent SetInputBox("ROTATE3D", "Insert angle", IBT.TY_DOUBLE)
Case EST.ROTATE3D_3
@@ -696,7 +854,6 @@ Public Class Controller
m_Scene.ResetStatus()
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
' Mirror
Case EST.MIRROR_1
m_ptP1 = m_ptLast
@@ -716,7 +873,6 @@ Public Class Controller
' aggiorno stato
m_nStatus = EST.NULL
SetModified()
RaiseEvent UpdateUI(Me)
Case Else
Return False
End Select
@@ -725,6 +881,9 @@ Public Class Controller
Public Function ExecuteDrag() As Boolean
Select Case m_nStatus
Case EST.GRID_ROTATE_2, EST.GRID_ROTATE_3
EgtSetGeoLine(m_ptP1, m_ptP2)
EgtDraw()
Case EST.LINE2P_2
' durante la creazione di oggetti il gruppo di Drag ha riferimento globale
Dim nId As Integer = EgtGetFirstInGroup(m_Scene.GetDragGroup())
@@ -756,7 +915,7 @@ Public Class Controller
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
If EgtGetType(nId) <> GDB_TY.CRV_ARC Then
EgtErase(nId)
nId = GDB_ID.NULL
End If
@@ -769,7 +928,7 @@ Public Class Controller
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
If EgtGetType(nId) <> GDB_TY.CRV_ARC Then
EgtErase(nId)
nId = GDB_ID.NULL
End If
@@ -803,7 +962,11 @@ Public Class Controller
EgtMoveGlob(m_Scene.GetDragGroup(), (m_ptLast - m_ptP1))
EgtSetGeoLine(m_ptP1, m_ptLast)
EgtDraw()
Case EST.ROTATE_2
EgtSetGeoLine(m_ptP1, m_ptLast)
EgtDraw()
Case EST.ROTATE_3
EgtSetGeoLine(m_ptP1, m_ptLast)
' ripristino lo stato iniziale
EgtChangeGroupFrame(m_Scene.GetDragGroup(), Frame3d.GLOB)
' eseguo rotazione
@@ -816,6 +979,7 @@ Public Class Controller
EgtSetGeoLine(m_ptP1, m_ptLast)
EgtDraw()
Case EST.ROTATE3D_3
EgtSetGeoLine(m_ptP1, m_ptP2)
' ripristino lo stato iniziale
EgtChangeGroupFrame(m_Scene.GetDragGroup(), Frame3d.GLOB)
' eseguo rotazione
@@ -856,13 +1020,21 @@ Public Class Controller
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
' reset
m_nCurrPart = GDB_ID.NULL
m_nCurrLayer = GDB_ID.NULL
' verifico esistenza e validità pezzo
If EgtExistsObj(nPart) And EgtGetParent(nPart) = GDB_ID.ROOT Then
m_nCurrPart = nPart
Else
Return False
End If
' verifico esistenza e validità layer
If EgtExistsObj(nLayer) And EgtGetParent(nLayer) = nPart Then
m_nCurrLayer = nLayer
Else
Return False
End If
' assegno
m_nCurrPart = nPart
m_nCurrLayer = nLayer
Return True
End Function
@@ -902,12 +1074,14 @@ Public Class Controller
Return m_sCurrFile
End Function
Public Sub SetModified()
Public Sub SetModified(Optional ByVal bReloadUI As Boolean = True)
m_bModified = True
RaiseEvent UpdateUI(Me, bReloadUI)
End Sub
Public Sub ResetModified()
Public Sub ResetModified(Optional ByVal bReloadUI As Boolean = True)
m_bModified = False
RaiseEvent UpdateUI(Me, bReloadUI)
End Sub
Public Function GetModified() As Boolean
+19 -3
View File
@@ -312,6 +312,9 @@ Class Frame3d
bOk = True
Return bOk
End Function
Public Function Setup(ByRef PtOri As Point3d, ByRef PtOnX As Point3d, ByRef PtNearY As Point3d) As Boolean
Return EgtFrameFrom3Points(PtOri, PtOnX, PtNearY, PtOrig, VtDirX, VtDirY, VtDirZ)
End Function
' Verifica
Private Function Verify() As Boolean
' verifica della ortogonalità dei versori e del senso destrorso
@@ -555,6 +558,11 @@ Private Shared Function EgtPointLocToLoc(ByRef X As Double, ByRef Y As Double, B
ByRef PtO2 As Point3d, ByRef VtX2 As Vector3d, ByRef VtY2 As Vector3d, ByRef VtZ2 As Vector3d) As Boolean
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Private Shared Function EgtFrameFrom3Points(ByRef PtO As Point3d, ByRef PtOnX As Point3d, ByRef PtOnY As Point3d,
ByRef PtOrig As Point3d, ByRef VtX As Vector3d, ByRef VtY As Vector3d, ByRef VtZ As Vector3d) As Boolean
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Private Shared Function EgtFrameTranslate(ByRef PtOrig As Point3d, ByRef VtX As Vector3d, ByRef VtY As Vector3d, ByRef VtZ As Vector3d,
ByRef VtMove As Vector3d) As Boolean
@@ -727,6 +735,10 @@ End Function
Public Shared Function EgtModifyCurveEndPoint(ByVal nId As Integer, ByRef PtEnd As Point3d) As Boolean
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Shared Function EgtSplitCurveAtPoint(ByVal nId As Integer, ByRef PtOn As Point3d) As Boolean
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Shared Function EgtModifyCurveCircleCPN(ByVal nId As Integer, ByRef PtOn As Point3d) As Boolean
End Function
@@ -740,7 +752,7 @@ Public Shared Function EgtModifyCurveArc3P(ByVal nId As Integer, ByRef PtMid As
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Shared Function EgtSplitCurveCompo(ByVal nId As Integer) As Boolean
Public Shared Function EgtSeparateCurveCompo(ByVal nId As Integer) As Boolean
End Function
@@ -834,7 +846,7 @@ Public Shared Function EgtErase(ByVal nId As Integer) As Boolean
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Shared Function EgtGetType(ByVal nId As Integer) As Integer
Public Shared Function EgtGetType(ByVal nId As Integer) As GDB_TY
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
@@ -1144,6 +1156,10 @@ End Function
Public Shared Function EgtSetMarkAttribs(ByRef colMark As Color3d) As Boolean
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Shared Function EgtSetSelSurfAttribs(ByRef colSelSurf As Color3d) As Boolean
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Shared Function EgtSetGeoLineAttribs(ByRef colGl As Color3d) As Boolean
End Function
@@ -1399,7 +1415,7 @@ Public Enum GDB_ID As Integer
SEL = -2
End Enum
'Costanti : TIPO OGGETTI
Public Enum TY As Integer
Public Enum GDB_TY As Integer
NONE = 0
GROUP = 2
GEO_VECTOR = 128
+340 -47
View File
@@ -28,8 +28,9 @@ Partial Class Form1
Me.StatusStrip1 = New System.Windows.Forms.StatusStrip()
Me.ToolStripStatusOnL = New System.Windows.Forms.ToolStripStatusLabel()
Me.ToolStripStatusOutput = New System.Windows.Forms.ToolStripStatusLabel()
Me.ToolStripStatusCursorPos = New System.Windows.Forms.ToolStripStatusLabel()
Me.ToolStripStatusOnR = New System.Windows.Forms.ToolStripStatusLabel()
Me.ToolStripStatusGrid = New System.Windows.Forms.ToolStripStatusLabel()
Me.ToolStripStatusCursorPos = New System.Windows.Forms.ToolStripStatusLabel()
Me.TabControl1 = New System.Windows.Forms.TabControl()
Me.TabHome = New System.Windows.Forms.TabPage()
Me.btnSaveAs = New System.Windows.Forms.Button()
@@ -41,6 +42,7 @@ Partial Class Form1
Me.btnExport = New System.Windows.Forms.Button()
Me.btnExec = New System.Windows.Forms.Button()
Me.TabView = New System.Windows.Forms.TabPage()
Me.btnBottom = New System.Windows.Forms.Button()
Me.btnIsoNW = New System.Windows.Forms.Button()
Me.btnIsoNE = New System.Windows.Forms.Button()
Me.btnIsoSE = New System.Windows.Forms.Button()
@@ -62,11 +64,24 @@ Partial Class Form1
Me.btnFront = New System.Windows.Forms.Button()
Me.btnZoomIn = New System.Windows.Forms.Button()
Me.btnTop = New System.Windows.Forms.Button()
Me.TabCPlane = New System.Windows.Forms.TabPage()
Me.btnCplane3P = New System.Windows.Forms.Button()
Me.btnCplaneRotate = New System.Windows.Forms.Button()
Me.btnCplaneBottom = New System.Windows.Forms.Button()
Me.btnCplaneLeft = New System.Windows.Forms.Button()
Me.btnCplaneBack = New System.Windows.Forms.Button()
Me.btnCplaneElevation = New System.Windows.Forms.Button()
Me.btnCplaneRight = New System.Windows.Forms.Button()
Me.btnCplaneOrigin = New System.Windows.Forms.Button()
Me.PictureBox2 = New System.Windows.Forms.PictureBox()
Me.btnCplaneFront = New System.Windows.Forms.Button()
Me.btnCplaneTop = New System.Windows.Forms.Button()
Me.TableLayoutPanel3 = New System.Windows.Forms.TableLayoutPanel()
Me.tBoxInfo = New System.Windows.Forms.TextBox()
Me.tboxCmd = New System.Windows.Forms.TextBox()
Me.TreeView1 = New System.Windows.Forms.TreeView()
Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components)
Me.ImageList2 = New System.Windows.Forms.ImageList(Me.components)
Me.Panel1 = New System.Windows.Forms.Panel()
Me.txtColor = New System.Windows.Forms.TextBox()
Me.btnColor = New System.Windows.Forms.Button()
@@ -89,8 +104,9 @@ Partial Class Form1
Me.btnExtrude = New System.Windows.Forms.Button()
Me.btnPlane = New System.Windows.Forms.Button()
Me.TabEdit = New System.Windows.Forms.TabPage()
Me.btnBreakCurve = New System.Windows.Forms.Button()
Me.btnChangeColor = New System.Windows.Forms.Button()
Me.btnSplitCurve = New System.Windows.Forms.Button()
Me.btnSeparateCurve = 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()
@@ -118,6 +134,8 @@ Partial Class Form1
CType(Me.PictureBox5, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.PictureBox4, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.PictureBox3, System.ComponentModel.ISupportInitialize).BeginInit()
Me.TabCPlane.SuspendLayout()
CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).BeginInit()
Me.TableLayoutPanel3.SuspendLayout()
Me.Panel1.SuspendLayout()
Me.InputBox.SuspendLayout()
@@ -148,7 +166,7 @@ Partial Class Form1
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 80.0!))
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle())
Me.TableLayoutPanel1.Size = New System.Drawing.Size(1056, 533)
Me.TableLayoutPanel1.Size = New System.Drawing.Size(1096, 533)
Me.TableLayoutPanel1.TabIndex = 0
'
'StatusStrip1
@@ -157,12 +175,12 @@ Partial Class Form1
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.TableLayoutPanel1.SetColumnSpan(Me.StatusStrip1, 3)
Me.StatusStrip1.Dock = System.Windows.Forms.DockStyle.None
Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripStatusOnL, Me.ToolStripStatusOutput, Me.ToolStripStatusCursorPos, Me.ToolStripStatusOnR})
Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripStatusOnL, Me.ToolStripStatusOutput, Me.ToolStripStatusOnR, Me.ToolStripStatusGrid, Me.ToolStripStatusCursorPos})
Me.StatusStrip1.Location = New System.Drawing.Point(0, 511)
Me.StatusStrip1.MaximumSize = New System.Drawing.Size(0, 22)
Me.StatusStrip1.MinimumSize = New System.Drawing.Size(0, 22)
Me.StatusStrip1.Name = "StatusStrip1"
Me.StatusStrip1.Size = New System.Drawing.Size(1056, 22)
Me.StatusStrip1.Size = New System.Drawing.Size(1096, 22)
Me.StatusStrip1.TabIndex = 6
Me.StatusStrip1.Text = "StatusStrip1"
'
@@ -180,10 +198,26 @@ Partial Class Form1
Me.ToolStripStatusOutput.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text
Me.ToolStripStatusOutput.MergeIndex = 1
Me.ToolStripStatusOutput.Name = "ToolStripStatusOutput"
Me.ToolStripStatusOutput.Size = New System.Drawing.Size(446, 17)
Me.ToolStripStatusOutput.Size = New System.Drawing.Size(449, 17)
Me.ToolStripStatusOutput.Spring = True
Me.ToolStripStatusOutput.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
'
'ToolStripStatusOnR
'
Me.ToolStripStatusOnR.AutoSize = False
Me.ToolStripStatusOnR.Name = "ToolStripStatusOnR"
Me.ToolStripStatusOnR.Size = New System.Drawing.Size(190, 17)
Me.ToolStripStatusOnR.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
'
'ToolStripStatusGrid
'
Me.ToolStripStatusGrid.BorderSides = CType((((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Top) _
Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Right) _
Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom), System.Windows.Forms.ToolStripStatusLabelBorderSides)
Me.ToolStripStatusGrid.Name = "ToolStripStatusGrid"
Me.ToolStripStatusGrid.Size = New System.Drawing.Size(43, 17)
Me.ToolStripStatusGrid.Text = " GRID "
'
'ToolStripStatusCursorPos
'
Me.ToolStripStatusCursorPos.AutoSize = False
@@ -193,28 +227,22 @@ Partial Class Form1
Me.ToolStripStatusCursorPos.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text
Me.ToolStripStatusCursorPos.MergeIndex = 2
Me.ToolStripStatusCursorPos.Name = "ToolStripStatusCursorPos"
Me.ToolStripStatusCursorPos.Size = New System.Drawing.Size(200, 17)
Me.ToolStripStatusCursorPos.Size = New System.Drawing.Size(194, 17)
Me.ToolStripStatusCursorPos.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
'
'ToolStripStatusOnR
'
Me.ToolStripStatusOnR.AutoSize = False
Me.ToolStripStatusOnR.Name = "ToolStripStatusOnR"
Me.ToolStripStatusOnR.Size = New System.Drawing.Size(190, 17)
Me.ToolStripStatusOnR.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
'
'TabControl1
'
Me.TableLayoutPanel1.SetColumnSpan(Me.TabControl1, 3)
Me.TabControl1.Controls.Add(Me.TabHome)
Me.TabControl1.Controls.Add(Me.TabView)
Me.TabControl1.Controls.Add(Me.TabCPlane)
Me.TabControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.TabControl1.HotTrack = True
Me.TabControl1.ItemSize = New System.Drawing.Size(60, 18)
Me.TabControl1.Location = New System.Drawing.Point(3, 3)
Me.TabControl1.Name = "TabControl1"
Me.TabControl1.SelectedIndex = 0
Me.TabControl1.Size = New System.Drawing.Size(1050, 74)
Me.TabControl1.Size = New System.Drawing.Size(1090, 74)
Me.TabControl1.TabIndex = 8
'
'TabHome
@@ -231,7 +259,7 @@ Partial Class Form1
Me.TabHome.Location = New System.Drawing.Point(4, 22)
Me.TabHome.Name = "TabHome"
Me.TabHome.Padding = New System.Windows.Forms.Padding(3)
Me.TabHome.Size = New System.Drawing.Size(1042, 48)
Me.TabHome.Size = New System.Drawing.Size(1082, 48)
Me.TabHome.TabIndex = 0
Me.TabHome.Text = "Home"
'
@@ -371,6 +399,7 @@ Partial Class Form1
'TabView
'
Me.TabView.BackColor = System.Drawing.SystemColors.Control
Me.TabView.Controls.Add(Me.btnBottom)
Me.TabView.Controls.Add(Me.btnIsoNW)
Me.TabView.Controls.Add(Me.btnIsoNE)
Me.TabView.Controls.Add(Me.btnIsoSE)
@@ -395,10 +424,27 @@ Partial Class Form1
Me.TabView.Location = New System.Drawing.Point(4, 22)
Me.TabView.Name = "TabView"
Me.TabView.Padding = New System.Windows.Forms.Padding(3)
Me.TabView.Size = New System.Drawing.Size(1042, 48)
Me.TabView.Size = New System.Drawing.Size(1082, 48)
Me.TabView.TabIndex = 3
Me.TabView.Text = "View"
'
'btnBottom
'
Me.btnBottom.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
Me.btnBottom.FlatAppearance.BorderSize = 0
Me.btnBottom.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnBottom.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnBottom.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnBottom.Image = CType(resources.GetObject("btnBottom.Image"), System.Drawing.Image)
Me.btnBottom.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnBottom.Location = New System.Drawing.Point(628, 0)
Me.btnBottom.Name = "btnBottom"
Me.btnBottom.Size = New System.Drawing.Size(56, 48)
Me.btnBottom.TabIndex = 32
Me.btnBottom.Text = "Bottom"
Me.btnBottom.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnBottom.UseVisualStyleBackColor = False
'
'btnIsoNW
'
Me.btnIsoNW.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
@@ -408,7 +454,7 @@ Partial Class Form1
Me.btnIsoNW.FlatStyle = System.Windows.Forms.FlatStyle.Flat
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.Location = New System.Drawing.Point(852, 0)
Me.btnIsoNW.Name = "btnIsoNW"
Me.btnIsoNW.Size = New System.Drawing.Size(56, 48)
Me.btnIsoNW.TabIndex = 31
@@ -425,7 +471,7 @@ Partial Class Form1
Me.btnIsoNE.FlatStyle = System.Windows.Forms.FlatStyle.Flat
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.Location = New System.Drawing.Point(796, 0)
Me.btnIsoNE.Name = "btnIsoNE"
Me.btnIsoNE.Size = New System.Drawing.Size(56, 48)
Me.btnIsoNE.TabIndex = 30
@@ -442,7 +488,7 @@ Partial Class Form1
Me.btnIsoSE.FlatStyle = System.Windows.Forms.FlatStyle.Flat
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.Location = New System.Drawing.Point(740, 0)
Me.btnIsoSE.Name = "btnIsoSE"
Me.btnIsoSE.Size = New System.Drawing.Size(56, 48)
Me.btnIsoSE.TabIndex = 29
@@ -461,7 +507,7 @@ Partial Class Form1
Me.chkGetDist.FlatStyle = System.Windows.Forms.FlatStyle.Flat
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.Location = New System.Drawing.Point(1024, 0)
Me.chkGetDist.Name = "chkGetDist"
Me.chkGetDist.Size = New System.Drawing.Size(56, 48)
Me.chkGetDist.TabIndex = 24
@@ -479,7 +525,7 @@ Partial Class Form1
Me.chkAnalyze.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.chkAnalyze.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.chkAnalyze.Image = CType(resources.GetObject("chkAnalyze.Image"), System.Drawing.Image)
Me.chkAnalyze.Location = New System.Drawing.Point(912, 0)
Me.chkAnalyze.Location = New System.Drawing.Point(968, 0)
Me.chkAnalyze.Name = "chkAnalyze"
Me.chkAnalyze.Size = New System.Drawing.Size(56, 48)
Me.chkAnalyze.TabIndex = 25
@@ -490,7 +536,7 @@ Partial Class Form1
'PictureBox5
'
Me.PictureBox5.BackColor = System.Drawing.SystemColors.ActiveBorder
Me.PictureBox5.Location = New System.Drawing.Point(853, 4)
Me.PictureBox5.Location = New System.Drawing.Point(909, 4)
Me.PictureBox5.Name = "PictureBox5"
Me.PictureBox5.Size = New System.Drawing.Size(2, 40)
Me.PictureBox5.TabIndex = 28
@@ -516,7 +562,7 @@ Partial Class Form1
Me.chkCurveDir.FlatStyle = System.Windows.Forms.FlatStyle.Flat
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.Location = New System.Drawing.Point(912, 0)
Me.chkCurveDir.Name = "chkCurveDir"
Me.chkCurveDir.Size = New System.Drawing.Size(56, 48)
Me.chkCurveDir.TabIndex = 20
@@ -620,7 +666,7 @@ Partial Class Form1
Me.btnIsoSW.FlatStyle = System.Windows.Forms.FlatStyle.Flat
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.Location = New System.Drawing.Point(684, 0)
Me.btnIsoSW.Name = "btnIsoSW"
Me.btnIsoSW.Size = New System.Drawing.Size(56, 48)
Me.btnIsoSW.TabIndex = 8
@@ -747,6 +793,207 @@ Partial Class Form1
Me.btnTop.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnTop.UseVisualStyleBackColor = False
'
'TabCPlane
'
Me.TabCPlane.BackColor = System.Drawing.SystemColors.Control
Me.TabCPlane.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None
Me.TabCPlane.Controls.Add(Me.btnCplane3P)
Me.TabCPlane.Controls.Add(Me.btnCplaneRotate)
Me.TabCPlane.Controls.Add(Me.btnCplaneBottom)
Me.TabCPlane.Controls.Add(Me.btnCplaneLeft)
Me.TabCPlane.Controls.Add(Me.btnCplaneBack)
Me.TabCPlane.Controls.Add(Me.btnCplaneElevation)
Me.TabCPlane.Controls.Add(Me.btnCplaneRight)
Me.TabCPlane.Controls.Add(Me.btnCplaneOrigin)
Me.TabCPlane.Controls.Add(Me.PictureBox2)
Me.TabCPlane.Controls.Add(Me.btnCplaneFront)
Me.TabCPlane.Controls.Add(Me.btnCplaneTop)
Me.TabCPlane.ForeColor = System.Drawing.SystemColors.ControlText
Me.TabCPlane.Location = New System.Drawing.Point(4, 22)
Me.TabCPlane.Name = "TabCPlane"
Me.TabCPlane.Size = New System.Drawing.Size(1082, 48)
Me.TabCPlane.TabIndex = 4
Me.TabCPlane.Text = "CPlane"
'
'btnCplane3P
'
Me.btnCplane3P.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
Me.btnCplane3P.FlatAppearance.BorderSize = 0
Me.btnCplane3P.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnCplane3P.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnCplane3P.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnCplane3P.Image = CType(resources.GetObject("btnCplane3P.Image"), System.Drawing.Image)
Me.btnCplane3P.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnCplane3P.Location = New System.Drawing.Point(508, 0)
Me.btnCplane3P.Name = "btnCplane3P"
Me.btnCplane3P.Size = New System.Drawing.Size(56, 48)
Me.btnCplane3P.TabIndex = 37
Me.btnCplane3P.Text = "3 Points"
Me.btnCplane3P.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnCplane3P.UseVisualStyleBackColor = False
'
'btnCplaneRotate
'
Me.btnCplaneRotate.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
Me.btnCplaneRotate.FlatAppearance.BorderSize = 0
Me.btnCplaneRotate.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnCplaneRotate.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnCplaneRotate.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnCplaneRotate.Image = CType(resources.GetObject("btnCplaneRotate.Image"), System.Drawing.Image)
Me.btnCplaneRotate.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnCplaneRotate.Location = New System.Drawing.Point(452, 0)
Me.btnCplaneRotate.Name = "btnCplaneRotate"
Me.btnCplaneRotate.Size = New System.Drawing.Size(56, 48)
Me.btnCplaneRotate.TabIndex = 36
Me.btnCplaneRotate.Text = "Rotate"
Me.btnCplaneRotate.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnCplaneRotate.UseVisualStyleBackColor = False
'
'btnCplaneBottom
'
Me.btnCplaneBottom.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
Me.btnCplaneBottom.FlatAppearance.BorderSize = 0
Me.btnCplaneBottom.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnCplaneBottom.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnCplaneBottom.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnCplaneBottom.Image = CType(resources.GetObject("btnCplaneBottom.Image"), System.Drawing.Image)
Me.btnCplaneBottom.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnCplaneBottom.Location = New System.Drawing.Point(280, 0)
Me.btnCplaneBottom.Name = "btnCplaneBottom"
Me.btnCplaneBottom.Size = New System.Drawing.Size(56, 48)
Me.btnCplaneBottom.TabIndex = 35
Me.btnCplaneBottom.Text = "Bottom"
Me.btnCplaneBottom.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnCplaneBottom.UseVisualStyleBackColor = False
'
'btnCplaneLeft
'
Me.btnCplaneLeft.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
Me.btnCplaneLeft.FlatAppearance.BorderSize = 0
Me.btnCplaneLeft.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnCplaneLeft.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnCplaneLeft.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnCplaneLeft.Image = CType(resources.GetObject("btnCplaneLeft.Image"), System.Drawing.Image)
Me.btnCplaneLeft.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnCplaneLeft.Location = New System.Drawing.Point(224, 0)
Me.btnCplaneLeft.Name = "btnCplaneLeft"
Me.btnCplaneLeft.Size = New System.Drawing.Size(56, 48)
Me.btnCplaneLeft.TabIndex = 34
Me.btnCplaneLeft.Text = "Left"
Me.btnCplaneLeft.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnCplaneLeft.UseVisualStyleBackColor = False
'
'btnCplaneBack
'
Me.btnCplaneBack.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
Me.btnCplaneBack.FlatAppearance.BorderSize = 0
Me.btnCplaneBack.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnCplaneBack.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnCplaneBack.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnCplaneBack.Image = CType(resources.GetObject("btnCplaneBack.Image"), System.Drawing.Image)
Me.btnCplaneBack.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnCplaneBack.Location = New System.Drawing.Point(168, 0)
Me.btnCplaneBack.Name = "btnCplaneBack"
Me.btnCplaneBack.Size = New System.Drawing.Size(56, 48)
Me.btnCplaneBack.TabIndex = 33
Me.btnCplaneBack.Text = "Back"
Me.btnCplaneBack.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnCplaneBack.UseVisualStyleBackColor = False
'
'btnCplaneElevation
'
Me.btnCplaneElevation.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
Me.btnCplaneElevation.FlatAppearance.BorderSize = 0
Me.btnCplaneElevation.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnCplaneElevation.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnCplaneElevation.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnCplaneElevation.Image = CType(resources.GetObject("btnCplaneElevation.Image"), System.Drawing.Image)
Me.btnCplaneElevation.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnCplaneElevation.Location = New System.Drawing.Point(340, 0)
Me.btnCplaneElevation.Name = "btnCplaneElevation"
Me.btnCplaneElevation.Size = New System.Drawing.Size(56, 48)
Me.btnCplaneElevation.TabIndex = 32
Me.btnCplaneElevation.Text = "Elevat"
Me.btnCplaneElevation.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnCplaneElevation.UseVisualStyleBackColor = False
'
'btnCplaneRight
'
Me.btnCplaneRight.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
Me.btnCplaneRight.FlatAppearance.BorderSize = 0
Me.btnCplaneRight.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnCplaneRight.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnCplaneRight.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnCplaneRight.Image = CType(resources.GetObject("btnCplaneRight.Image"), System.Drawing.Image)
Me.btnCplaneRight.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnCplaneRight.Location = New System.Drawing.Point(112, 0)
Me.btnCplaneRight.Name = "btnCplaneRight"
Me.btnCplaneRight.Size = New System.Drawing.Size(56, 48)
Me.btnCplaneRight.TabIndex = 31
Me.btnCplaneRight.Text = "Right"
Me.btnCplaneRight.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnCplaneRight.UseVisualStyleBackColor = False
'
'btnCplaneOrigin
'
Me.btnCplaneOrigin.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
Me.btnCplaneOrigin.FlatAppearance.BorderSize = 0
Me.btnCplaneOrigin.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnCplaneOrigin.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnCplaneOrigin.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnCplaneOrigin.Image = CType(resources.GetObject("btnCplaneOrigin.Image"), System.Drawing.Image)
Me.btnCplaneOrigin.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnCplaneOrigin.Location = New System.Drawing.Point(396, 0)
Me.btnCplaneOrigin.Name = "btnCplaneOrigin"
Me.btnCplaneOrigin.Size = New System.Drawing.Size(56, 48)
Me.btnCplaneOrigin.TabIndex = 30
Me.btnCplaneOrigin.Text = "Origin"
Me.btnCplaneOrigin.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnCplaneOrigin.UseVisualStyleBackColor = False
'
'PictureBox2
'
Me.PictureBox2.BackColor = System.Drawing.SystemColors.ActiveBorder
Me.PictureBox2.Location = New System.Drawing.Point(337, 3)
Me.PictureBox2.Name = "PictureBox2"
Me.PictureBox2.Size = New System.Drawing.Size(2, 40)
Me.PictureBox2.TabIndex = 29
Me.PictureBox2.TabStop = False
'
'btnCplaneFront
'
Me.btnCplaneFront.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
Me.btnCplaneFront.FlatAppearance.BorderSize = 0
Me.btnCplaneFront.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnCplaneFront.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnCplaneFront.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnCplaneFront.Image = CType(resources.GetObject("btnCplaneFront.Image"), System.Drawing.Image)
Me.btnCplaneFront.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnCplaneFront.Location = New System.Drawing.Point(56, 0)
Me.btnCplaneFront.Name = "btnCplaneFront"
Me.btnCplaneFront.Size = New System.Drawing.Size(56, 48)
Me.btnCplaneFront.TabIndex = 9
Me.btnCplaneFront.Text = "Front"
Me.btnCplaneFront.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnCplaneFront.UseVisualStyleBackColor = False
'
'btnCplaneTop
'
Me.btnCplaneTop.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
Me.btnCplaneTop.FlatAppearance.BorderSize = 0
Me.btnCplaneTop.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnCplaneTop.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnCplaneTop.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnCplaneTop.Image = CType(resources.GetObject("btnCplaneTop.Image"), System.Drawing.Image)
Me.btnCplaneTop.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnCplaneTop.Location = New System.Drawing.Point(0, 0)
Me.btnCplaneTop.Name = "btnCplaneTop"
Me.btnCplaneTop.Size = New System.Drawing.Size(56, 48)
Me.btnCplaneTop.TabIndex = 8
Me.btnCplaneTop.Text = "Top"
Me.btnCplaneTop.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnCplaneTop.UseVisualStyleBackColor = False
'
'TableLayoutPanel3
'
Me.TableLayoutPanel3.ColumnCount = 1
@@ -757,7 +1004,7 @@ Partial Class Form1
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.Location = New System.Drawing.Point(893, 83)
Me.TableLayoutPanel3.Name = "TableLayoutPanel3"
Me.TableLayoutPanel3.RowCount = 5
Me.TableLayoutPanel3.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 50.0!))
@@ -793,6 +1040,7 @@ Partial Class Form1
'
'TreeView1
'
Me.TreeView1.CheckBoxes = True
Me.TreeView1.Dock = System.Windows.Forms.DockStyle.Fill
Me.TreeView1.FullRowSelect = True
Me.TreeView1.HideSelection = False
@@ -803,6 +1051,7 @@ Partial Class Form1
Me.TreeView1.Name = "TreeView1"
Me.TreeView1.SelectedImageIndex = 0
Me.TreeView1.Size = New System.Drawing.Size(194, 126)
Me.TreeView1.StateImageList = Me.ImageList2
Me.TreeView1.TabIndex = 0
'
'ImageList1
@@ -824,6 +1073,13 @@ Partial Class Form1
Me.ImageList1.Images.SetKeyName(12, "STriMesh.ico")
Me.ImageList1.Images.SetKeyName(13, "text.ico")
'
'ImageList2
'
Me.ImageList2.ImageStream = CType(resources.GetObject("ImageList2.ImageStream"), System.Windows.Forms.ImageListStreamer)
Me.ImageList2.TransparentColor = System.Drawing.Color.Transparent
Me.ImageList2.Images.SetKeyName(0, "LampOff.png")
Me.ImageList2.Images.SetKeyName(1, "LampOn.png")
'
'Panel1
'
Me.Panel1.AutoSize = True
@@ -1114,8 +1370,9 @@ Partial Class Form1
'TabEdit
'
Me.TabEdit.BackColor = System.Drawing.SystemColors.Control
Me.TabEdit.Controls.Add(Me.btnBreakCurve)
Me.TabEdit.Controls.Add(Me.btnChangeColor)
Me.TabEdit.Controls.Add(Me.btnSplitCurve)
Me.TabEdit.Controls.Add(Me.btnSeparateCurve)
Me.TabEdit.Controls.Add(Me.btnJoinCurve)
Me.TabEdit.Controls.Add(Me.btnInvertCurve)
Me.TabEdit.Controls.Add(Me.btnDelete)
@@ -1125,6 +1382,23 @@ Partial Class Form1
Me.TabEdit.TabIndex = 3
Me.TabEdit.Text = "Edit"
'
'btnBreakCurve
'
Me.btnBreakCurve.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
Me.btnBreakCurve.FlatAppearance.BorderSize = 0
Me.btnBreakCurve.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnBreakCurve.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnBreakCurve.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnBreakCurve.Image = CType(resources.GetObject("btnBreakCurve.Image"), System.Drawing.Image)
Me.btnBreakCurve.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnBreakCurve.Location = New System.Drawing.Point(0, 144)
Me.btnBreakCurve.Name = "btnBreakCurve"
Me.btnBreakCurve.Size = New System.Drawing.Size(56, 48)
Me.btnBreakCurve.TabIndex = 38
Me.btnBreakCurve.Text = "Break"
Me.btnBreakCurve.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnBreakCurve.UseVisualStyleBackColor = False
'
'btnChangeColor
'
Me.btnChangeColor.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
@@ -1142,22 +1416,23 @@ Partial Class Form1
Me.btnChangeColor.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnChangeColor.UseVisualStyleBackColor = False
'
'btnSplitCurve
'btnSeparateCurve
'
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
Me.btnSeparateCurve.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
Me.btnSeparateCurve.FlatAppearance.BorderSize = 0
Me.btnSeparateCurve.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnSeparateCurve.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnSeparateCurve.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnSeparateCurve.Font = New System.Drawing.Font("Microsoft Sans Serif", 6.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.btnSeparateCurve.Image = CType(resources.GetObject("btnSeparateCurve.Image"), System.Drawing.Image)
Me.btnSeparateCurve.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnSeparateCurve.Location = New System.Drawing.Point(0, 240)
Me.btnSeparateCurve.Name = "btnSeparateCurve"
Me.btnSeparateCurve.Size = New System.Drawing.Size(56, 48)
Me.btnSeparateCurve.TabIndex = 36
Me.btnSeparateCurve.Text = "Separate"
Me.btnSeparateCurve.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnSeparateCurve.UseVisualStyleBackColor = False
'
'btnJoinCurve
'
@@ -1168,7 +1443,7 @@ Partial Class Form1
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.Location = New System.Drawing.Point(0, 192)
Me.btnJoinCurve.Name = "btnJoinCurve"
Me.btnJoinCurve.Size = New System.Drawing.Size(56, 48)
Me.btnJoinCurve.TabIndex = 35
@@ -1380,7 +1655,7 @@ Partial Class Form1
Me.Scene1.Dock = System.Windows.Forms.DockStyle.Fill
Me.Scene1.Location = New System.Drawing.Point(92, 83)
Me.Scene1.Name = "Scene1"
Me.Scene1.Size = New System.Drawing.Size(755, 425)
Me.Scene1.Size = New System.Drawing.Size(795, 425)
Me.Scene1.TabIndex = 1
'
'Form1
@@ -1389,14 +1664,14 @@ Partial Class Form1
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.AutoSize = True
Me.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None
Me.ClientSize = New System.Drawing.Size(1056, 533)
Me.ClientSize = New System.Drawing.Size(1096, 533)
Me.Controls.Add(Me.TableLayoutPanel1)
Me.Cursor = System.Windows.Forms.Cursors.Arrow
Me.ForeColor = System.Drawing.SystemColors.ControlText
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.KeyPreview = True
Me.Margin = New System.Windows.Forms.Padding(2)
Me.MinimumSize = New System.Drawing.Size(1072, 512)
Me.MinimumSize = New System.Drawing.Size(1112, 512)
Me.Name = "Form1"
Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide
Me.StartPosition = System.Windows.Forms.FormStartPosition.Manual
@@ -1412,6 +1687,8 @@ Partial Class Form1
CType(Me.PictureBox5, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.PictureBox4, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.PictureBox3, System.ComponentModel.ISupportInitialize).EndInit()
Me.TabCPlane.ResumeLayout(False)
CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).EndInit()
Me.TableLayoutPanel3.ResumeLayout(False)
Me.TableLayoutPanel3.PerformLayout()
Me.Panel1.ResumeLayout(False)
@@ -1503,7 +1780,7 @@ End Sub
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 btnSeparateCurve 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
@@ -1512,5 +1789,21 @@ End Sub
Friend WithEvents InputText As System.Windows.Forms.TextBox
Friend WithEvents btnCircleCR As System.Windows.Forms.Button
Friend WithEvents btnRevolve As System.Windows.Forms.Button
Friend WithEvents ImageList2 As System.Windows.Forms.ImageList
Friend WithEvents ToolStripStatusGrid As System.Windows.Forms.ToolStripStatusLabel
Friend WithEvents btnBottom As System.Windows.Forms.Button
Friend WithEvents TabCPlane As System.Windows.Forms.TabPage
Friend WithEvents btnCplaneFront As System.Windows.Forms.Button
Friend WithEvents btnCplaneTop As System.Windows.Forms.Button
Friend WithEvents btnCplaneOrigin As System.Windows.Forms.Button
Friend WithEvents PictureBox2 As System.Windows.Forms.PictureBox
Friend WithEvents btnCplaneRight As System.Windows.Forms.Button
Friend WithEvents btnCplaneElevation As System.Windows.Forms.Button
Friend WithEvents btnCplaneBack As System.Windows.Forms.Button
Friend WithEvents btnCplaneBottom As System.Windows.Forms.Button
Friend WithEvents btnCplaneLeft As System.Windows.Forms.Button
Friend WithEvents btnCplane3P As System.Windows.Forms.Button
Friend WithEvents btnCplaneRotate As System.Windows.Forms.Button
Friend WithEvents btnBreakCurve As System.Windows.Forms.Button
End Class
+197 -3
View File
@@ -312,6 +312,19 @@
Fheu8EVY3uyhzvJhG9vqLYsMFUmB5OROwJbnJpA2eaOLGssX+ZBkqHACaZPb8lwF1OTNPqqztQ+xqe7O
Q4YKW24FbHmuAmryoIMKy8PW7x9OGjJUJAVsuRcBO3mjhyOWT9pYU2cXQYYKJ8BywnLvApyaH81/FDtk
qGC5W/vKBFS+LDL0iQx9IkOfyNAfEX4Asj8tHRoshHQAAAAASUVORK5CYII=
</value>
</data>
<data name="btnBottom.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94LCRImG7ghlLIAAAFwSURBVFhHxZYxTgQxDEVzA0rqvQINDSwdFefY
SyC2pEErrkDFYbjUMLbGUWx/m0xWCsWT4mfnO7BiRVmW5V+BciZQRpSbw3N5/Pi8BpdpRUS5vXtBgXtx
uVYg0E+O5hD24a5vhUUtb85o1oJ+a27Giha7nF0QZFF3m4e4OSsE9fptOfsgqGXPw1VRZSkPNqD2giBh
78NVwSJZzv0giHvBcu4F91TBQgKuYX1IlOu8E23QIDazzXXeiSSEyPojPVWwSEKIrD/SUwWLJITI+iM9
VbBIQoisP9JTBYskhMj6Iz1VsMhC1r9t6Y/iMp2IBmn50+W9hh0vKjjl/vwmZ5frBBisy4nT92v5+jlB
trvK0bx49AXlxDZc697lhCySul1uvpprvhPbBT63n/lfywmZpXPHcsKL5lI99ywn2nk5J8sJL+Si0Luc
sHfBZ27xwoaM0rGc8AKF7WX9n8LmRkA5EyhnAuVMoJwJlDOBch5L+QUjK5chq38+mgAAAABJRU5ErkJg
gg==
</value>
</data>
<data name="btnIsoNW.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -681,6 +694,128 @@
VAQhQjTPzJqDiiBEiOaZWXNQEYQI0Twzaw4qghAhmmdmzUFFFIKf5iSUSaL3oJQ/nN/2sOO5CQ65fX2p
vymXhPPgXi6YLxzS3d28+4EiYUJGywV3d3O9XRYQMhKAZHZZwNJIAJLZZVEXBwMQ2nXu3MLChmQZKBdY
eGG/Zf1PYXN7uHImrpyJK2fiypm4ciaunMdSfgDRq45RqelmwQAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnCplane3P.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94LChATEwX6pbYAAAD9SURBVFhHxZLLDYMwEAV9TTcpIMWlmdzSUi7h
mCKctYORWY/5Si8rDfBmzQIWIcb4V1AqQakEpRKUSlAqQakEpRKUSlAexepupIuM7xMolxgf0iOGx/WV
z9zPzObVYQvNgDFbpUNhWlNfY67DGla3RDfb1z+H8O72Xc6uDktY4XZO/LaeeyM4lyThBzTZXmCWV9ZP
nqTHCrfSSF+WRGZrv6YRnnFIj+mv/4TL4Ck+r7P1OJ9kwd9UZ6t0KGRfzr0+gTJhhdt+NPdAmbCiLd8F
zfWwdDefzUu0YmUr9+Y1WmFvfxY/cwmUSlAqQakEpRKUSlAqQakEpRKUOmL4AtFUb1iP3tZtAAAAAElF
TkSuQmCC
</value>
</data>
<data name="btnCplaneRotate.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94LChAgNrqVFMEAAAEDSURBVFhHzZLBDcIwDEVzZRsG6HAsw42VuNAj
QxSnaoLrvKaK2hgsPcF/KXZkGqZp+ikoPUHpCUqNlHzw2Rmg1MQL9LwEyxCGNFhjnzuDUnyHD0vuNjxS
CjU85fS9B6XoPNBSin+4gJD/AovUrcr9+kSvWPXTYRbmJYTzdQOb5QKrvPe8Dlkul9jw+gVdZxn+GMNr
89zk2elQQwrXmWlcfe5LkrANity4+uxJWqROX30+I6mRwnVmZPg7XMYa1DeBMhEHnJkJlBGp+tob8xYo
I1K88gaor4Wl+fHRXKMUO6tszXuUQm5/FNuzBkpPUHqC0hOUnqD0BKUnKD1B6QlKP6bwAbN5X05yNz+R
AAAAAElFTkSuQmCC
</value>
</data>
<data name="btnCplaneBottom.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94LCg8yM6VxdNAAAAGESURBVFhHxZYxTgQxDEXTUlFScwNEQ7NAR8WV
oKRZrTgFx6Ki5BDD+DMOdvLjDVkUkJ6Iv/2/M4x2RVqW5V+hImP92aXb/etf4HJt0SJdXD+yoFFcti0Y
bDmba5HOLx8ivxsucWZzZrOMHr8zWEozNBLQotfvTFkkZugkgAH//eEFHPHnQxbsOzdm9EhASWs5esSf
D1nYhtLN81M+93B3+DmT5TbbabaAoCGnQJbbbKfZAgIZ6ukJI303ACEIiXrCSN8NQAhCop4w0ncDEIKQ
qCeM9N0AhCAk6gkjfTcAIQjR3qm4TFtAIEPQ9QtqtTTZvLRncLm2gEAugG83DTaf8Sqs8Grf+df/K7SP
ni0glCHe3Obt6l29tP+NW478SjAX6H7ydTl+mwugtv71Feq8pRY0ZHvnn+nsIwJPLgsE9WqtmMuX1IKG
aFD05GWtvsZfjlELdvlvKb1Hlgu1oAEaNlo33nlJLYh5FL1A53KBijOh4kyoOBMqzoSKM6HiTKg4jyV9
AcTrZLNBwImMAAAAAElFTkSuQmCC
</value>
</data>
<data name="btnCplaneLeft.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94LCg81L/4xvlgAAAGeSURBVFhHxZQxUgQhEEVJjQyNvYFlYrJqZuSV
NDSxtjyFxzIy9BAj/0tTDQ0MzKzsVv0CfjP9PuzUuGVZzqqiWZP/HbwWd//+sVWmZ27UFOHnCOCubp8j
OIylfSW5y+unXQHYAFBI5p0BcvhwADb4vPniw9yKHH0BEriam325IYqnRQCZi1YCcP/j8U3g9EYCJP+5
D0CPW//GVoAIhwKcfm+ACIfQDDcQ1qxjXglQg7PWHSBs3KUMrvsa3xi60UblPXVf4xsjXHG88oF3gM89
HE8QIIjrkXegAmnVkgWNABDgj7v4Fl/XMc9Vg7RqyYKGCgA4xuiLBiGtWrKgEQClk+s65rlqkFYtWdDw
Vu3kcf2fAQjHZgWUkR+aEGCr0EsrWdAQAMag6EtthzSLfY0hEA3WJ/efar1fqwThs8H3PQ66xroxAApK
1mhQ+MRq5QESeCW4NQSGUZ98BQ4JjPMOOGQNHWAADkWghq88aw0dAGMjfS7uv3t96YVD1gBY4HvUe2vG
OAV85NZK5kwVzZkqmjNVNGeqaM5U0Zynxf0CXxxkRNo+7IcAAAAASUVORK5CYII=
</value>
</data>
<data name="btnCplaneBack.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94LCg4hM8VcX3UAAAF7SURBVFhH7ZY7TgRBDETnBoTE3ACRkPDJiLgS
hJugFafgWJxl6LLGTY3L8+ld1EiIlZ6mXW6XS9rVaIdxHH+VVMwon7sCDst8XH+mOiG+UcgYLm+eh/u3
dzPB04k1AnCd3BfvKETqcjKsvWCIALP63ADDxdVTHca5IYDM4tkSIBqYhgBr8G/AZ7lf4B3mGQUTk+Wm
w6RoXPvZagTA7OPxYFDfw3hddRH4O6fl1tsTwJcjyEkBfPnt60s9b/Fw/D5Py83rrACnUizXkH0iTEZR
tx5MqMeG2Zz0/wP8SIAlprm0R4inCFsBqMeG2Zz0/0yASqwjyX3xFGG6LDrekDBcgpasIb4iJAHsteoL
ShDu1TvJnOn8ak9mZ4UJwWjPchDnTOPZ8o+Ke/WOCGQ0M5je70vwnNV7g4tAQ/W8sRz4XTu3BBfBB52V
9Ey937AcqODDYOdyMJsDO5YDFaLRKbQEFyEzbKFhOUjFnqRiT1KxJ6nYk1TsSSr2Yxy+AFzjT2hlhvv7
AAAAAElFTkSuQmCC
</value>
</data>
<data name="btnCplaneElevation.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94LCg8rIyPGzawAAAD7SURBVFhHxZDBEcIgEEVztRsLsDib8WZLXszR
IvDjCJLlBSFx1p15Q/6DLMxOIYS/gtITlJ6g9ASlJyhHUGnhvR5Q9hIvT9i9XlD2UF6esGd6QDnC1osT
KEdwf4DqbIjyky/H2yIDi35l6KFqYCYQH7DI9fntD1CdIibr8511+XWe7mbfns/55crQQoXjFHFzePS5
L0nCNkhZpUXr4OizJ2lRrY5SFbaMPu+RLFHhOAvCYzrMLahvAmUiXvDLTKCMqJpjHM1roIyoaNxDUF8L
S/Pz3tyiFl9GOZq/UQu9fi+2ZwuUnqD0BKUnKD1B6QlKT1B6gtITlH6E6QkiUYDZP7fHEAAAAABJRU5E
rkJggg==
</value>
</data>
<data name="btnCplaneRight.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94LCg4dJUJ7k9sAAAG/SURBVFhHxZQ9TsRADIWnpaLcmhsgGpoFOiqu
BCUNWu0pOBYVJYcI44c98l9mkoBC8WniZ6/fy46UMk3Tv5KKGeVw81Tu3s6/AnZurxcyyuXVY7pwDdVq
UwBjfvvyTGc2l9H+NTLnM8x4QWPM1XM262nzZL4lgLnzugwa137W08zfrz/wvDZAZg6dNT3rMW9eA0Cj
Z0bPoheEUo6ZOXqDAObOKYgOwLqeRy8IbLIZMmMjXAHX0hMfwRQQ/MI1kBHfOXa5f+CrXHyKj2AKCLzM
64t6YkyGhApA5nRSrTEFhD8KgJMDwFz1NaaAMDLp9eo6AVoNIG8ufZkXTAFhZNLriTGfcudU677GFBBG
Jr2eCiBktcYUEHom96dV/4A+dV9jCgi9ANybhYyEmTrsDAIvC7p8Ynsoo7kz7A0CDVaMRuYPp1fgPs9t
RhnAUOAPE6ifav0bzAbBBVhiTvgAcoqemWMmCCoAzKkemBPNSNBv3gseBA7QzPnZz3kkAJ7JlOth8CCI
qbDAnNCGOBeYE1HYYE60AHLO3LknCjrAWsj4h6PfO0cUssVLWWlOpOKepOKepOKepOKepOKepOJ+TOUb
rZ9hivkFJpoAAAAASUVORK5CYII=
</value>
</data>
<data name="btnCplaneOrigin.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94LCggICDScVQgAAADqSURBVFhHxZDBDcIwEATzpRsKoDia4UdLfMiT
Isw5wtHlPLaxkJaThmgH55LsklL6KyiVoFSCUglKJSiVoFSCUglKJSiVoOxhc+1yOz/QOw77fPiGakHM
9gKHPDrvwwibS6aZ7eH3dXk2/w95cz70sME6dyar3/eSJOKCKk9Wv3uSERus0shflsXG6HzJnkpEbKoq
HelTfXotp7UF7S2gLOSHtLJN/ilsvlzdGazdgzJj061xNrdAmbGhyqegvRGW4eZfc49aDKqczSNqYW//
K3FnD5RKUCpBqQSlEpRKUCpBqQSlEpQ60vIGRimMPzioXXoAAAAASUVORK5CYII=
</value>
</data>
<data name="btnCplaneFront.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94LCRYDGbnVjaUAAAF6SURBVFhH5ZSxTgNBDES3paJMzR8gGpoAHRW/
BCUNivIVfBYVJR9x3Jj1yTu2L3c6tJGgeMrOeHfGIihlGIazEpoZZXfzVO7ejltwmWxk/EY5cLlsRJTL
q8dTQRm8uJuzwTTl5hzdZaK/mrvDhoXLxUuCmOatWcTdY0Nptq/l4idBljWLN2IyS9lzwDRLgpS1izdC
DBswnt08CZJZUi6z5F0jxBitWd6vP0LfsmLxRoiBgHpZYI0FrA7ucybQufOdUQOt1rPousCkzfwPLTDH
gv8BzgTrFjAXOfCffAVnX2CGr3LxeQoti3B9zkCRuQgtn/h9fzi86rzcH35CVSuswe3Ls541V2mEGDWg
0VpeF9CZzqczSniOt7U8/IV0Bgp5AS1HGBcYzQs05eNZfYs3ULgRyVlQDryBkPpIPqFNgBZE2t5fUg68
gQB9XAN5nmm9P70NvnPGGzaAA9foBeXAGwjYzp5zM0KzJ6HZk9DsSWj2JDR7Epr9GMo3hq1PGzbInJQA
AAAASUVORK5CYII=
</value>
</data>
<data name="btnCplaneTop.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94LCRYDLO9mSYYAAAF/SURBVFhHxZY9TgUxDITTUlFScwNEQ8NPR8WV
oKRBT5yCY1FRcoglNollO7PZBEvhSd/TeuwZZ1mxkLZt+1eguBIo7pEurp9StnT5uPqEusJk6qKHLL97
exd8Tct1vTNvcnWxRzq/fGRzj4E7rwcx2bpAyHIy03W5EzOTl5ta9Y1/9gCjd/6dzr568GJ6hDMHMM88
H4S1WpcQquu8r/1PjjXllTldiJjSLZujqOWcO3KA/PldrsxUS590VbOm++DOpTd4APqKQYvyI2yyhw5Q
hqL4XJ1tNF2w0AkgIn3UMwMsdAKISB/1zAALnQAi0kc9M8BCJ4CI9FHPDLDQCSAifdQzAyz0Auh3vPQj
mExdsACGWKflD6dXCbo/mdBDbl6e67XJ1QULaKguJ9zbzbPrL7p/QcmFCC5gZjkB/UVDflOwoAKOzIhZ
fysow5EZMetvhWoaMCMaP/ijpGkFHxDhYDnRCijoL+T/K3w2AoorgeJKoLgSKK4EiiuB4jq29ANKFWH5
Upl5AwAAAABJRU5ErkJggg==
</value>
</data>
<metadata name="ImageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
@@ -691,7 +826,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC4
DQAAAk1TRnQBSQFMAgEBDgEAAcgBCAHIAQgBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
DQAAAk1TRnQBSQFMAgEBDgEAAfABCQHwAQkBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAAUADAAEBAQABCAYAARAYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@@ -750,6 +885,54 @@
AaEBHQGAAQ8BwAEDAv8BsgFxAYABBwHAAQMB/gF/AXkBggGAAQMBwAEDAf4BfwFyARIBwAEBAcABAwH/
AT8BQAFyAeABAAHAAQMB/wGfARkBEgHwAQABwAEDAfkBnwGyAQ0B+AEAAcABAwH5AZ8BsgENAfwBAAHA
AQMB/AE/AdsBGwH+AQABwAEDAv8C5wL/AcABAwL/AfgBHwr/Cw==
</value>
</data>
<metadata name="ImageList2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>757, 10</value>
</metadata>
<data name="ImageList2.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADW
CAAAAk1TRnQBSQFMAgEBAgEAARABAQEQAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm
AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM
AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA
ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz
AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ
AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM
AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA
AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA
AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ
AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/
AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA
AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm
ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ
Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz
AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA
AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM
AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM
ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM
Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA
AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM
AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ
AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz
AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm
AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw
AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/4QAAv8BAAH/AgcB/wEA
A/8IAAH/AQcBvAH/KQAD/wHxAvIB8QT/CAAB8QLyAfEmAAH/AgAD/wHyAfEB8gHzBP8HAAH/AfECGgHy
Af8lAAH/AgAC/wEAAfMBvAHwAfQE/wcAAf8BmgIyARoB/yUAAf8CAAH/AQAB/wHyAvAB8gH/AQAC/wcA
Af8BegJTAZoB/yUAAf8CAAH/AQAB9AHxAfIC8QH0AQAC/wcAAfMBUwF6AVkBUwHzJQAB/wMAAf8B8gLz
AvIB8AH/AQAB/wYAAf8BWQN6AVkBMgH/JAAB/wMAAfQB8wH0AvMC8gH0AQAB/wYAARoCmgN6AVkBGiQA
Af8DAAX0AvMB9AEAAf8GAAEaBHoCmgEaJAAB/wMABf8C9AH/AQAB/wYAAf8GegH/JAAB/wIAC/8GAAH/
ARoBmgJ6AZoBGwH/JAAB/wIAAf8BAAb/AQAC/wcAAv8C9AL/JQAB/z8AAf8/AAFCAU0BPgcAAT4DAAEo
AwABQAMAARADAAEBAQABAQUAAYAXAAP/AQAE/wQABP8EAAHkASMB/AE/BAAB4AEDAfwBPwQAAWABAwH4
AR8EAAFkAQMB+AEfBAABaAETAfgBHwQAAWgBEwH4AR8EAAFwAQsB8AEPBAABcAELAfABDwQAAXABCwHw
AQ8EAAFwAQsB8AEPBAABYAEDAfABDwQAAWgBEwH4AR8EAAF/A/8EAAF/A/8EAAs=
</value>
</data>
<data name="btnCircleCR.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -845,6 +1028,17 @@
Y4C55tAaQOosc+gKMMscbgvAjp18d86hEWFGgGQcv0Zr90FTwmiAwjie9KsSkv6/r4SRAJl5PLmx/Kos
tDAYYN9x+C+5Qgu9AY5vX2UOWhgIsM/L23NdgxbGA/BR9faghTxAI/l8LVpoXFAyJcAo5c4rTNETU/TE
FD0xRU9M0RNT9CMsP8YUDae/Iv6fAAAAAElFTkSuQmCC
</value>
</data>
<data name="btnBreakCurve.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAHdElNRQfeCwsKBjVJT4ecAAAA7UlEQVRYR8WTDQ6CMBTG
OJin9XTeYlIj5jm78TeeJk2kkPQjwFRK+SsqM1GZicqRzL/bDH/mQzlvchQxnj6gjnOs15k8C7EQbsZB
pTHdH2WhPhchFsLQjINKIw5ojSAWwtCNg0qjHlCPIBbCsBoHlS1aI4iFMGyKg8oeNuJoHFSu0RmxKw4q
t2Aj6mu2oHIN7vR1xwNGqOzxiS+cHKGyxU/8/czPjFBpEAth+Hrhjo5QWUMshEHf9ksGEAth6H5qQwcQ
C2HY/Z2voRKIhfAlcXCZFAeXSXFwmRQHlZmozERlJiozUZmJykxU5lGmJ/1JCrpcgBacAAAAAElFTkSu
QmCC
</value>
</data>
<data name="btnChangeColor.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -907,7 +1101,7 @@
1AXpLtPnGvrkHPrkHPrkHPrkHPrkHPrkHPrkHPrkHPrkHPqj8QedywzpExYb4AAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnSplitCurve.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="btnSeparateCurve.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB94KHhYtDVimFmIAAAC6SURBVFhH7Y9RDoMwDEM5GPe/VldLzcgSUxKY
@@ -1010,7 +1204,7 @@
<value>634, 10</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>34</value>
<value>42</value>
</metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
+175 -77
View File
@@ -12,6 +12,8 @@ Public Class Form1
Private m_sIniFile As String = String.Empty
Private WithEvents m_Controller As New Controller
Private m_bShowGrid As Boolean
Private m_bShowGridFrame As Boolean
'-------------------------------- Form ------------------------------------------------------------
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
@@ -47,6 +49,10 @@ Public Class Form1
Dim MarkColor As New Color3d(255, 255, 0)
GetPrivateProfileColor("Scene", "Mark", MarkColor, m_sIniFile)
Scene1.SetMarkMaterial(MarkColor)
' imposto colore per superfici selezionate
Dim SelSurfColor As New Color3d(255, 255, 192)
GetPrivateProfileColor("Scene", "SelSurf", SelSurfColor, m_sIniFile)
Scene1.SetSelSurfMaterial(SelSurfColor)
' imposto tipo e colore del rettangolo di zoom
Dim bOutline As Boolean = True
Dim ZwColor As New Color3d(0, 0, 0)
@@ -65,8 +71,8 @@ Public Class Form1
' inizializzo scena
Scene1.Init()
' imposto i dati della griglia
Dim bShowGrid As Boolean = (GetPrivateProfileInt("Grid", "ShowGrid", 1, m_sIniFile) <> 0)
Dim bShowFrame As Boolean = (GetPrivateProfileInt("Grid", "ShowFrame", 1, m_sIniFile) <> 0)
m_bShowGrid = (GetPrivateProfileInt("Grid", "ShowGrid", 1, m_sIniFile) <> 0)
m_bShowGridFrame = (GetPrivateProfileInt("Grid", "ShowFrame", 1, m_sIniFile) <> 0)
Dim dSnapStep As Double = GetPrivateProfileDouble("Grid", "SnapStep", 10, m_sIniFile)
Dim nMinLineSStep As Integer = GetPrivateProfileInt("Grid", "MinLineSStep", 1, m_sIniFile)
Dim nMajLineSStep As Integer = GetPrivateProfileInt("Grid", "MajLineSStep", 10, m_sIniFile)
@@ -75,7 +81,7 @@ Public Class Form1
GetPrivateProfileColor("Grid", "MinLnColor", MinLnColor, m_sIniFile)
Dim MajLnColor As New Color3d(160, 160, 160)
GetPrivateProfileColor("Grid", "MajLnColor", MajLnColor, m_sIniFile)
EgtSetGridShow(bShowGrid, bShowFrame)
EgtSetGridShow(m_bShowGrid, m_bShowGridFrame)
EgtSetGridFrame(Frame3d.GLOB)
EgtSetGridGeo(dSnapStep, nMinLineSStep, nMajLineSStep, nExtSStep)
EgtSetGridColor(MinLnColor, MajLnColor)
@@ -190,11 +196,8 @@ Public Class Form1
Private Sub OnNewProject(ByVal sender As Object) Handles Scene1.OnNewProject
m_Controller.ResetCurrFile()
m_Controller.ResetModified()
m_Controller.ExecuteCommand(CMD.RESETCURRPARTLAYER)
EmitTitle()
EmitCurrPartLayer()
LoadObjTree()
m_Controller.ResetModified()
End Sub
Private Sub OnOpeningProject(ByVal sender As Object) Handles Scene1.OnOpeningProject
@@ -203,11 +206,8 @@ Public Class Form1
Private Sub OnOpenProject(ByVal sender As Object, ByVal sFile As String) Handles Scene1.OnOpenProject
m_Controller.SetCurrFile(sFile)
m_Controller.ResetModified()
m_Controller.ExecuteCommand(CMD.RESETCURRPARTLAYER)
EmitTitle()
EmitCurrPartLayer()
LoadObjTree()
m_Controller.ResetModified()
WritePrivateProfileString("General", "LastNgeDir", Path.GetDirectoryName(sFile), m_sIniFile)
End Sub
@@ -227,11 +227,8 @@ Public Class Form1
Private Sub OnImportedProject(ByVal sender As Object, ByVal sFile As String) Handles Scene1.OnImportedProject
m_Controller.SetCurrFile(sFile)
m_Controller.SetModified()
m_Controller.ExecuteCommand(CMD.RESETCURRPARTLAYER)
EmitTitle()
EmitCurrPartLayer()
LoadObjTree()
m_Controller.SetModified()
WritePrivateProfileString("General", "LastImpDir", Path.GetDirectoryName(sFile), m_sIniFile)
End Sub
@@ -249,7 +246,6 @@ Public Class Form1
Private Sub OnExecutedScript(ByVal sender As Object) Handles Scene1.OnExecutedScript
m_Controller.SetModified()
LoadObjTree()
End Sub
Private Sub OnMouseSelectedPoint(ByVal sender As Object, ByVal PtP As Point3d) Handles Scene1.OnMouseSelectedPoint
@@ -275,10 +271,18 @@ Public Class Form1
SetInputBox(sTitle, sLabel, nType)
End Sub
Private Sub OnUpdateUI(ByVal sender) Handles m_Controller.UpdateUI
Private Sub OnUpdateUI(ByVal sender As Object, ByVal bReloadUI As Boolean) Handles m_Controller.UpdateUI
' pulisco input e relativi messaggi
ResetInputBox()
ToolStripStatusOutput.Text = ""
LoadObjTree()
' aggiorno dati correnti
EmitTitle()
EmitCurrPartLayer()
If bReloadUI Then
LoadObjTree()
Else
UpdateObjTree()
End If
End Sub
'-------------------------------- Buttons --------------------------------------------------------
@@ -400,6 +404,10 @@ Public Class Form1
Scene1.RightView()
End Sub
Private Sub btnBottom_Click(sender As System.Object, e As System.EventArgs) Handles btnBottom.Click
Scene1.BottomView()
End Sub
Private Sub btnIsoSW_Click(sender As System.Object, e As System.EventArgs) Handles btnIsoSW.Click
Scene1.IsoViewSW()
End Sub
@@ -416,11 +424,62 @@ Public Class Form1
Scene1.IsoViewNW()
End Sub
Private Sub btnCplaneTop_Click(sender As System.Object, e As System.EventArgs) Handles btnCplaneTop.Click
m_Controller.SetLastIntegers(GRID_TYPE.TOP, 0)
m_Controller.ExecuteCommand(CMD.GRID)
End Sub
Private Sub btnCplaneFront_Click(sender As System.Object, e As System.EventArgs) Handles btnCplaneFront.Click
m_Controller.SetLastIntegers(GRID_TYPE.FRONT, 0)
m_Controller.ExecuteCommand(CMD.GRID)
End Sub
Private Sub btnCplaneRight_Click(sender As System.Object, e As System.EventArgs) Handles btnCplaneRight.Click
m_Controller.SetLastIntegers(GRID_TYPE.RIGHT, 0)
m_Controller.ExecuteCommand(CMD.GRID)
End Sub
Private Sub btnCplaneBack_Click(sender As System.Object, e As System.EventArgs) Handles btnCplaneBack.Click
m_Controller.SetLastIntegers(GRID_TYPE.BACK, 0)
m_Controller.ExecuteCommand(CMD.GRID)
End Sub
Private Sub btnCplaneLeft_Click(sender As System.Object, e As System.EventArgs) Handles btnCplaneLeft.Click
m_Controller.SetLastIntegers(GRID_TYPE.LEFT, 0)
m_Controller.ExecuteCommand(CMD.GRID)
End Sub
Private Sub btnCplaneBottom_Click(sender As System.Object, e As System.EventArgs) Handles btnCplaneBottom.Click
m_Controller.SetLastIntegers(GRID_TYPE.BOTTOM, 0)
m_Controller.ExecuteCommand(CMD.GRID)
End Sub
Private Sub btnCplaneElevation_Click(sender As System.Object, e As System.EventArgs) Handles btnCplaneElevation.Click
m_Controller.ExecuteCommand(CMD.GRID_ELEVATION)
End Sub
Private Sub btnCplaneOrigin_Click(sender As System.Object, e As System.EventArgs) Handles btnCplaneOrigin.Click
m_Controller.ExecuteCommand(CMD.GRID_ORIGIN)
End Sub
Private Sub btnCplaneRotate_Click(sender As System.Object, e As System.EventArgs) Handles btnCplaneRotate.Click
m_Controller.ExecuteCommand(CMD.GRID_ROTATE)
End Sub
Private Sub btnCplane3Points_Click(sender As System.Object, e As System.EventArgs) Handles btnCplane3P.Click
m_Controller.ExecuteCommand(CMD.GRID_3P)
End Sub
' --------------------- Update UI -------------------------------
Private Sub Application_Idle(ByVal sender As Object, ByVal e As EventArgs)
' Gestione abilitazione bottoni
Dim bLayerOk As Boolean = (m_Controller.GetCurrLayer() <> GDB_ID.NULL)
Dim bSelOk As Boolean = (EgtGetFirstSelectedObj() <> GDB_ID.NULL)
' Grid
btnCplaneElevation.Enabled = m_bShowGrid
btnCplaneOrigin.Enabled = m_bShowGrid
btnCplaneRotate.Enabled = m_bShowGrid
btnCplane3P.Enabled = m_bShowGrid
' Draw
btnPoint.Enabled = bLayerOk
btnLine2P.Enabled = bLayerOk
@@ -435,8 +494,9 @@ Public Class Form1
btnDelete.Enabled = bSelOk
btnChangeColor.Enabled = bSelOk
btnInvertCurve.Enabled = bSelOk
btnBreakCurve.Enabled = bSelOk
btnJoinCurve.Enabled = bLayerOk And bSelOk
btnSplitCurve.Enabled = bSelOk
btnSeparateCurve.Enabled = bSelOk
' Transform
btnCopy.Enabled = bSelOk
btnMove.Enabled = bSelOk
@@ -479,6 +539,7 @@ Public Class Form1
End Sub
Private Sub btnDelete_Click(sender As System.Object, e As System.EventArgs) Handles btnDelete.Click
m_Controller.SetLastIntegers(GDB_ID.SEL, 0)
m_Controller.ExecuteCommand(CMD.DELETE)
End Sub
@@ -494,12 +555,16 @@ Public Class Form1
m_Controller.ExecuteCommand(CMD.INVERTCRVSURF)
End Sub
Private Sub btnBreakCurve_Click(sender As System.Object, e As System.EventArgs) Handles btnBreakCurve.Click
m_Controller.ExecuteCommand(CMD.BREAKCURVE)
End Sub
Private Sub btnJoinCurve_Click(sender As System.Object, e As System.EventArgs) Handles btnJoinCurve.Click
m_Controller.ExecuteCommand(CMD.JOINCURVE)
End Sub
Private Sub btnSplitCurve_Click(sender As System.Object, e As System.EventArgs) Handles btnSplitCurve.Click
m_Controller.ExecuteCommand(CMD.SPLITCURVE)
Private Sub btnSeparateCurve_Click(sender As System.Object, e As System.EventArgs) Handles btnSeparateCurve.Click
m_Controller.ExecuteCommand(CMD.SEPARATECURVE)
End Sub
Private Sub btnMove_Click(sender As System.Object, e As System.EventArgs) Handles btnMove.Click
@@ -579,10 +644,10 @@ Public Class Form1
'recupero il tipo di oggetto
Dim nType As Integer = EgtGetType(nId)
'se gruppo
If nType = TY.GROUP Then
If nType = GDB_TY.GROUP Then
XUnMirrorTexts(nId)
' se testo
ElseIf nType = TY.EXT_TEXT Then
ElseIf nType = GDB_TY.EXT_TEXT Then
EgtMirrorText(nId, True)
End If
' passo al successivo
@@ -609,6 +674,7 @@ Public Class Form1
Private Sub Scene1_KeyDown(ByVal sender As System.Object, ByVal e As KeyEventArgs) Handles Scene1.KeyDown
' Con DEL eseguo cancellazione delle entità selezionate
If e.KeyData = Keys.Delete Then
m_Controller.SetLastIntegers(GDB_ID.SEL, 0)
m_Controller.ExecuteCommand(CMD.DELETE)
' con SPAZIO ripeto l'ultimo comando
ElseIf e.KeyData = Keys.Space Then
@@ -740,22 +806,14 @@ Public Class Form1
'-------------------------------- Current Piece/Layer --------------------------------------------
Private Sub btnNewPart_Click(sender As System.Object, e As System.EventArgs) Handles btnNewPart.Click
m_Controller.ExecuteCommand(CMD.NEWPART)
' aggiorno visualizzazione
EmitCurrPartLayer()
LoadObjTree()
End Sub
Private Sub btnNewLayer_Click(sender As System.Object, e As System.EventArgs) Handles btnNewLayer.Click
m_Controller.ExecuteCommand(CMD.NEWLAYER)
' aggiorno visualizzazione
EmitCurrPartLayer()
LoadObjTree()
End Sub
Private Sub btnColor_Click(sender As System.Object, e As System.EventArgs) Handles btnColor.Click
m_Controller.ExecuteCommand(CMD.LAYERCOLOR)
' aggiorno visualizzazione
EmitCurrPartLayer()
End Sub
Private Sub EmitCurrPartLayer()
@@ -780,7 +838,6 @@ Public Class Form1
'-------------------------------- Tree View ------------------------------------------------------
Private m_nObjTreeOldId As Integer = GDB_ID.NULL
Private m_bMark As Boolean = True
Private Sub ObjTreeTickEvent(source As Object, e As EventArgs) Handles ObjTreeTimer.Tick
If m_nObjTreeOldId <> GDB_ID.NULL Then
@@ -796,9 +853,7 @@ Public Class Form1
AddGroupInObjTree(GDB_ID.ROOT, 0, TreeView1.Nodes)
TreeView1.EndUpdate()
If nOldId <> GDB_ID.NULL Then
m_bMark = False
SelectIdInObjTree(nOldId)
m_bMark = True
End If
End Sub
@@ -834,13 +889,17 @@ Public Class Form1
sText = "Group " + nGroupId.ToString
End If
End If
Dim nImage As Integer = TypeToImageInObjTree(TY.GROUP, nLev)
CurrNodColl = PrevNodColl.Add(nGroupId.ToString, sText, nImage, nImage).Nodes
Dim nImage As Integer = TypeToImageInObjTree(GDB_TY.GROUP, nLev)
Dim CurrNod As TreeNode = PrevNodColl.Add(nGroupId.ToString(), sText, nImage, nImage)
CurrNodColl = CurrNod.Nodes
Dim nStat As GDB_ST = GDB_ST.ON_
EgtGetStatus(nGroupId, nStat)
CurrNod.Checked = (nStat <> GDB_ST.OFF)
End If
Dim nObjs As Integer = EgtGetGroupObjs(nGroupId)
If (nObjs > 20000) Then
CurrNodColl.Add("-1", "Too many entities")
CurrNodColl.Add(GDB_ID.NULL.ToString(), "Too many entities")
Return
End If
@@ -849,10 +908,10 @@ Public Class Form1
'recupero il tipo di nodo
Dim nType As Integer = EgtGetType(nId)
'se gruppo
If nType = TY.GROUP Then
If nType = GDB_TY.GROUP Then
AddGroupInObjTree(nId, nLev + 1, CurrNodColl)
'se oggetto geometrico
ElseIf nType >= TY.GEO_VECTOR Then
ElseIf nType >= GDB_TY.GEO_VECTOR Then
Dim sTitle As String = String.Empty
EgtGetTitle(nId, sTitle)
Dim sName As String = String.Empty
@@ -863,16 +922,23 @@ Public Class Form1
sText = sTitle + " " + nId.ToString
End If
Dim nImage As Integer = TypeToImageInObjTree(nType, nLev)
CurrNodColl.Add(nId.ToString, sText, nImage, nImage)
Dim CurrNod As TreeNode = CurrNodColl.Add(nId.ToString, sText, nImage, nImage)
Dim nStat As GDB_ST = GDB_ST.ON_
EgtGetStatus(nId, nStat)
CurrNod.Checked = (nStat <> GDB_ST.OFF)
End If
'passo al successivo
nId = EgtGetNext(nId)
End While
End Sub
Private Sub UpdateObjTree()
' per aggiornare l'albero senza ricostruirlo da capo
End Sub
Private Function TypeToImageInObjTree(ByVal nType As Integer, ByVal nLev As Integer) As Integer
Select Case nType
Case TY.GROUP
Case GDB_TY.GROUP
If nLev = 1 Then
Return 3
ElseIf nLev = 2 Then
@@ -880,29 +946,52 @@ Public Class Form1
Else
Return 2
End If
Case TY.GEO_VECTOR
Case GDB_TY.GEO_VECTOR
Return 5
Case TY.GEO_POINT
Case GDB_TY.GEO_POINT
Return 6
Case TY.GEO_FRAME
Case GDB_TY.GEO_FRAME
Return 7
Case TY.CRV_LINE
Case GDB_TY.CRV_LINE
Return 8
Case TY.CRV_ARC
Case GDB_TY.CRV_ARC
Return 9
Case TY.CRV_BEZ
Case GDB_TY.CRV_BEZ
Return 10
Case TY.CRV_COMPO
Case GDB_TY.CRV_COMPO
Return 11
Case TY.SRF_MESH
Case GDB_TY.SRF_MESH
Return 12
Case TY.EXT_TEXT
Case GDB_TY.EXT_TEXT
Return 13
End Select
Return 1
End Function
Private Sub ObjTree_AfterCheck(ByVal sender As Object, ByVal e As TreeViewEventArgs) Handles TreeView1.AfterCheck
' verifico che il check derivi da azione utente
If e.Action = TreeViewAction.Unknown Then
Return
End If
' recupero l'Id del nuovo oggetto
Dim nId As Integer
If Not Int32.TryParse(e.Node.Name, nId) Then
Return
End If
' eseguo operazione
m_Controller.SetLastIntegers(nId, 0)
If e.Node.Checked Then
m_Controller.ExecuteCommand(CMD.SHOW)
Else
m_Controller.ExecuteCommand(CMD.HIDE)
End If
End Sub
Private Sub ObjTree_AfterSelect(ByVal sender As Object, ByVal e As TreeViewEventArgs) Handles TreeView1.AfterSelect
' verifico che il select derivi da azione utente
If e.Action = TreeViewAction.Unknown Then
Return
End If
' recupero l'Id del nuovo oggetto selezionato
Dim nId As Integer
If Not Int32.TryParse(e.Node.Name, nId) Then
@@ -912,7 +1001,10 @@ Public Class Form1
End Sub
Private Sub ObjTree_MouseUp(ByVal sender As Object, e As MouseEventArgs) Handles TreeView1.MouseUp
If m_nObjTreeOldId <> GDB_ID.NULL Then
Dim nId As Integer
Dim TNode As TreeNode = TreeView1.GetNodeAt(e.Location)
If TNode IsNot Nothing AndAlso Int32.TryParse(TNode.Name, nId) AndAlso
m_nObjTreeOldId = nId Then
' evidenzio
EgtSetMark(m_nObjTreeOldId)
EgtDraw()
@@ -924,20 +1016,28 @@ Public Class Form1
Private Sub ObjTree_MouseDoubleClick(ByVal sender As Object, e As MouseEventArgs) Handles TreeView1.MouseDoubleClick
If m_nObjTreeOldId <> GDB_ID.NULL Then
' se non è un gruppo ne cerco il padre
Dim nId As Integer = m_nObjTreeOldId
While EgtGetType(nId) <> GDB_TY.GROUP
nId = EgtGetParent(nId)
If nId = GDB_ID.NULL Then
Return
End If
End While
' recupero il padre
Dim nIdParent As Integer = EgtGetParent(m_nObjTreeOldId)
Dim nIdParent As Integer = EgtGetParent(nId)
If nIdParent = GDB_ID.NULL Then
Return
' se Part
ElseIf nIdParent = GDB_ID.ROOT Then
' cerco il primo Layer del Part
Dim nId As Integer = EgtGetFirstGroupInGroup(m_nObjTreeOldId)
m_Controller.SetLastIntegers(m_nObjTreeOldId, nId)
Dim nIdLayer As Integer = EgtGetFirstGroupInGroup(nId)
m_Controller.SetLastIntegers(nId, nIdLayer)
m_Controller.ExecuteCommand(CMD.SETCURRPARTLAYER)
EmitCurrPartLayer()
' se Layer
ElseIf EgtGetParent(nIdParent) = GDB_ID.ROOT Then
m_Controller.SetLastIntegers(nIdParent, m_nObjTreeOldId)
m_Controller.SetLastIntegers(nIdParent, nId)
m_Controller.ExecuteCommand(CMD.SETCURRPARTLAYER)
EmitCurrPartLayer()
End If
@@ -948,9 +1048,7 @@ Public Class Form1
' Con DEL eseguo cancellazione del pezzo o del layer selezionati
If e.KeyData = Keys.Delete Then
m_Controller.SetLastIntegers(m_nObjTreeOldId, 0)
m_Controller.ExecuteCommand(CMD.DELETEPARTLAYER)
EmitCurrPartLayer()
LoadObjTree()
m_Controller.ExecuteCommand(CMD.DELETE)
End If
End Sub
@@ -961,9 +1059,9 @@ Public Class Form1
Dim nType As Integer = EgtGetType(nId)
' stampa dei dati del nuovo oggetto
Dim sDump As String = String.Empty
If nType = TY.NONE Then
If nType = GDB_TY.NONE Then
tBoxInfo.Text = String.Empty
ElseIf nType = TY.GROUP Then
ElseIf nType = GDB_TY.GROUP Then
If EgtGroupDump(nId, sDump) Then
tBoxInfo.Text = sDump
Else
@@ -976,19 +1074,7 @@ Public Class Form1
tBoxInfo.Text = String.Empty
End If
End If
If Not m_bMark Then
m_nObjTreeOldId = nId
Return
End If
' permetto in ogni caso la visualizzazione dell'oggetto e lo evidenzio
Dim nOldMode As Integer = GDB_MD.STD
EgtGetMode(nId, nOldMode)
Dim nMode As Integer = IIf((nOldMode = GDB_MD.HIDDEN), GDB_MD.STD, nOldMode)
EgtSetMode(nId, nMode)
Dim nOldStatus As Integer = GDB_ST.ON_
EgtGetStatus(nId, nOldStatus)
Dim nStat As Integer = IIf((nOldStatus = GDB_ST.OFF), GDB_ST.ON_, nOldStatus)
EgtSetStatus(nId, nStat)
' evidenzio l'oggetto
EgtSetMark(nId)
m_nObjTreeOldId = nId
' imposto il ridisegno della scena
@@ -1003,9 +1089,7 @@ Public Class Form1
Dim nOldId As Integer = m_nObjTreeOldId
' se non nullo...
If EgtExistsObj(m_nObjTreeOldId) Then
' ripristino il modo e lo stato precedente dell'oggetto e lo smarco
EgtRevertMode(m_nObjTreeOldId)
EgtRevertStatus(m_nObjTreeOldId)
' smarco l'oggetto
EgtResetMark(m_nObjTreeOldId)
' annullo oggetto da ripristinare
m_nObjTreeOldId = GDB_ID.NULL
@@ -1018,15 +1102,17 @@ Public Class Form1
If tNode.Length > 0 Then
TreeView1.SelectedNode = tNode(0)
TreeView1.SelectedNode.Expand()
m_nObjTreeOldId = nId
Return True
Else
m_nObjTreeOldId = GDB_ID.NULL
Return False
End If
End Function
'-------------------------------- Program Title --------------------------------------------------
Private Sub EmitTitle()
Private Sub EmitTitle()
' nome file
Dim sTitle As String = m_Controller.GetCurrFile()
If String.IsNullOrEmpty(sTitle) Then
@@ -1042,4 +1128,16 @@ Public Class Form1
Me.Text = sTitle
End Sub
'-------------------------------- Status Bar -----------------------------------------------------
Private Sub ToolStripStatusGrid_Click() Handles ToolStripStatusGrid.Click
m_bShowGrid = Not m_bShowGrid
If m_bShowGrid Then
ToolStripStatusGrid.ForeColor = Color.Black
Else
ToolStripStatusGrid.ForeColor = Color.LightGray
End If
EgtSetGridShow(m_bShowGrid, m_bShowGrid And m_bShowGridFrame)
EgtDraw()
End Sub
End Class
+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.7")>
<Assembly: AssemblyFileVersion("1.5.10.7")>
<Assembly: AssemblyVersion("1.5.11.1")>
<Assembly: AssemblyFileVersion("1.5.11.1")>
Binary file not shown.

After

Width:  |  Height:  |  Size: 334 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 584 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 559 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 575 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 368 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 560 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 436 B

Before

Width:  |  Height:  |  Size: 269 B

After

Width:  |  Height:  |  Size: 269 B

+11
View File
@@ -36,6 +36,7 @@ Public Class Scene
Private m_BackBotColor As Color3d
Private m_DefColor As Color3d
Private m_MarkColor As Color3d
Private m_SelSurfColor As Color3d
Private m_bZwOutline As Boolean
Private m_ZwColor As Color3d
Private m_DstLnColor As Color3d
@@ -62,6 +63,7 @@ Public Class Scene
m_BackBotColor.Setup(40, 44, 48)
m_DefColor.Setup(255, 165, 0)
m_MarkColor.Setup(255, 255, 0)
m_SelSurfColor.Setup(255, 255, 192)
m_bZwOutline = True
m_ZwColor.Setup(0, 0, 0)
m_DstLnColor.Setup(255, 0, 0)
@@ -89,6 +91,10 @@ Public Class Scene
m_MarkColor = DefColor
End Sub
Public Sub SetSelSurfMaterial(ByRef DefColor As Color3d)
m_SelSurfColor = DefColor
End Sub
Public Sub SetZoomWinAttribs(ByVal bZwOutline As Boolean, ByRef ZwColor As Color3d)
m_bZwOutline = bZwOutline
m_ZwColor = ZwColor
@@ -107,6 +113,7 @@ Public Class Scene
EgtInitScene(Handle, m_nDriver, m_b2Buff, m_nColorBits, m_nDepthBits)
EgtSetBackground(m_BackTopColor, m_BackBotColor)
EgtSetMarkAttribs(m_MarkColor)
EgtSetSelSurfAttribs(m_SelSurfColor)
EgtSetWinRectAttribs(m_bZwOutline, m_ZwColor)
EgtSetGeoLineAttribs(m_DstLnColor)
EgtInitTscExec()
@@ -1007,6 +1014,10 @@ Public Class Scene
EgtSetView(VT.RIGHT)
End Sub
Public Sub BottomView()
EgtSetView(VT.BOTTOM)
End Sub
Public Sub IsoViewSW()
EgtSetView(VT.ISO_SW)
End Sub