TestEIn 1.6b1 :

- separato comando superficie di rivoluzione da superficie di rototraslazione
- corretto errore in prototipo di EgtExplodeCurveBezier
- utilizzo di svuota gruppo
- in Scene aggiunto stato di non selezione.
This commit is contained in:
Dario Sassi
2015-02-02 08:21:31 +00:00
parent cf3b45bee6
commit 43e9ce48c9
10 changed files with 251 additions and 154 deletions
+47 -21
View File
@@ -83,7 +83,7 @@ Public Class Controller
PLANE
EXTRUDE
REVOLVE
REVOLVEPLUS
SCREW
RULED
DELETE
CHANGELAYER
@@ -841,8 +841,8 @@ Public Class Controller
Case CMD.REVOLVE
Return ProcessRevolve()
' Revolve Plus
Case CMD.REVOLVEPLUS
Return ProcessRevolvePlus()
Case CMD.SCREW
Return ProcessScrew()
' Ruled
Case CMD.RULED
Return ProcessRuled()
@@ -940,8 +940,8 @@ Public Class Controller
DragExtrude()
Case CMD.REVOLVE
DragRevolve()
Case CMD.REVOLVEPLUS
DragRevolvePlus()
Case CMD.SCREW
DragScrew()
Case CMD.TRIMEXTENDCURVE
DragExtendCurve()
Case CMD.SETCURVETHICKNESS
@@ -1031,6 +1031,7 @@ Public Class Controller
' imposto stato a lunghezza per elevazione griglia
m_nStep = 1
' abilito dialogo
m_Scene.SetStatusNull()
RaiseEvent PrepareInputBox("GRID", "Insert Elevation", "", False, False)
m_nInpType = IBT.TY_DOUBLE
Case 1
@@ -1157,6 +1158,7 @@ Public Class Controller
Case 2
m_ptP2 = m_ptLast
m_nStep = 3
m_Scene.SetStatusNull()
RaiseEvent PrepareInputBox("GRID ROTATE 3D", "Insert angle", "", False, False)
m_nInpType = IBT.TY_DOUBLE
Case 3
@@ -1996,6 +1998,7 @@ Public Class Controller
m_ptP1 = m_ptLast
m_dLast = DIAM_STD
m_nStep = 2
m_Scene.SetStatusNull()
m_Scene.DisableDrag()
RaiseEvent PrepareInputBox("CIRCLE CD", "Insert Diameter", "", False, True)
m_nInpType = IBT.TY_DOUBLE
@@ -2350,6 +2353,7 @@ Public Class Controller
End If
' imposto stato a numero lati per PolygonSide
m_nStep = 1
m_Scene.SetStatusNull()
' abilito dialogo
RaiseEvent PrepareInputBox("POLYGON SIDE", "Insert Side Nbr", "", False, False)
m_nInpType = IBT.TY_INTEGER
@@ -2415,11 +2419,13 @@ Public Class Controller
Case 1
m_ptP1 = m_ptLast
m_nStep = 2
m_Scene.SetStatusNull()
RaiseEvent PrepareInputBox("TEXT", "Insert Text", "", False, True)
m_nInpType = IBT.TY_STRING
m_sLast = String.Empty
Case 2
m_nStep = 3
m_Scene.SetStatusNull()
RaiseEvent PrepareInputBox("TEXT", "Insert Height", "", False, True)
m_nInpType = IBT.TY_DOUBLE
SetInputBoxDouble(10)
@@ -2491,11 +2497,13 @@ Public Class Controller
m_ptP2.x += 10
End If
m_nStep = 3
m_Scene.SetStatusNull()
RaiseEvent PrepareInputBox("TEXT+", "Insert Text", "", False, True)
m_nInpType = IBT.TY_STRING
m_sLast = String.Empty
Case 3
m_nStep = 4
m_Scene.SetStatusNull()
RaiseEvent PrepareInputBox("TEXT+", "Insert Height", "Italic", True, True)
m_nInpType = IBT.TY_DOUBLE
m_dLast = 10
@@ -2597,8 +2605,10 @@ Public Class Controller
' imposto stato a lunghezza di estrusione
m_nStep = 1
m_dLast = EXTRUDE_STD
m_Scene.SetStatusNull()
' abilito dialogo
RaiseEvent PrepareInputBox("EXTRUSION", "Insert length", "", False, True)
RaiseEvent PrepareInputBox("EXTRUSION", "Insert length", "CapEnds", False, True)
RaiseEvent SetInputBoxCheck(False)
m_nInpType = IBT.TY_DOUBLE
SetInputBoxDouble(m_dLast)
DragExtrude()
@@ -2608,7 +2618,8 @@ Public Class Controller
' creo la superficie di estrusione (a partire da un contorno selezionato)
Dim VtExtr As Vector3d = Vector3d.Z_AX * m_dLast
EnableCommandLog()
EgtCreateSurfTriMeshByExtrusion(GetCurrLayer(), EgtGetLastSelectedObj(), VtExtr, EPS_STM, REF_TY.GRID)
EgtCreateSurfTriMeshByExtrusion(GetCurrLayer(), EgtGetLastSelectedObj(), VtExtr,
m_bLast, EPS_STM, REF_TY.GRID)
DisableCommandLog()
EgtDraw()
' aggiorno stato
@@ -2624,10 +2635,11 @@ Public Class Controller
Private Sub DragExtrude()
If m_nStep = 1 Then
' cancello eventuale vecchia superficie di estrusione
EgtErase(EgtGetFirstInGroup(m_Scene.GetDragGroup()))
EgtEmptyGroup(m_Scene.GetDragGroup())
' creo la superficie di estrusione (a partire da un contorno selezionato)
Dim VtExtr As Vector3d = EgtGetGridVersZ() * m_dLast
EgtCreateSurfTriMeshByExtrusion(m_Scene.GetDragGroup(), EgtGetLastSelectedObj(), VtExtr, EPS_STM_DRAG, REF_TY.GLOB)
EgtCreateSurfTriMeshByExtrusion(m_Scene.GetDragGroup(), EgtGetLastSelectedObj(), VtExtr,
m_bLast, EPS_STM_DRAG, REF_TY.GLOB)
EgtDraw()
End If
End Sub
@@ -2643,13 +2655,14 @@ Public Class Controller
m_Scene.SetStatusSelPoint()
m_nStep = 1
' abilito dialogo
RaiseEvent PrepareInputBox("REVOLVE", "Insert First Point on Axis", "", False, False)
RaiseEvent PrepareInputBox("REVOLVE", "Insert First Point on Axis", "CapEnds", False, False)
RaiseEvent SetInputBoxCheck(False)
m_nInpType = IBT.TY_POINT3D
Case 1
m_ptP1 = m_ptLast
m_nStep = 2
m_Scene.EnableDrag()
RaiseEvent PrepareInputBox("REVOLVE", "Insert Second Point on Axis", "", False, True)
RaiseEvent PrepareInputBox("REVOLVE", "Insert Second Point on Axis", "CapEnds", False, True)
m_nInpType = IBT.TY_POINT3D
Case 2
' reset scena
@@ -2657,9 +2670,9 @@ Public Class Controller
' creo la superficie di rivoluzione (i punti sono in globale)
EnableCommandLog()
Dim vtAx As Vector3d = m_ptLast - m_ptP1
EgtCreateSurfTriMeshByScrewing(GetCurrLayer(), EgtGetLastSelectedObj(),
m_ptP1.Loc(GDB_ID.GRID), vtAx.Loc(GDB_ID.GRID),
360, 0, EPS_STM, REF_TY.GRID)
EgtCreateSurfTriMeshByRevolve(GetCurrLayer(), EgtGetLastSelectedObj(),
m_ptP1.Loc(GDB_ID.GRID), vtAx.Loc(GDB_ID.GRID),
m_bLast, EPS_STM, REF_TY.GRID)
DisableCommandLog()
EgtDraw()
' aggiorno stato
@@ -2675,11 +2688,18 @@ Public Class Controller
Private Sub DragRevolve()
If m_nStep = 2 Then
EgtSetGeoLine(m_ptP1, m_ptLast)
' cancello eventuale vecchia superficie
EgtEmptyGroup(m_Scene.GetDragGroup())
' creo la superficie di rivoluzione (i punti sono in globale)
Dim vtAx As Vector3d = m_ptLast - m_ptP1
EgtCreateSurfTriMeshByRevolve(m_Scene.GetDragGroup(), EgtGetLastSelectedObj(),
m_ptP1, vtAx, m_bLast, EPS_STM_DRAG, REF_TY.GLOB)
EgtDraw()
EgtDraw()
End If
End Sub
Private Function ProcessRevolvePlus() As Boolean
Private Function ProcessScrew() As Boolean
Select Case m_nStep
Case 0
' deve esistere un gruppo corrente e devo poter creare il gruppo di drag
@@ -2690,20 +2710,21 @@ Public Class Controller
m_Scene.SetStatusSelPoint()
m_nStep = 1
' abilito dialogo
RaiseEvent PrepareInputBox("REVOLVE+", "Insert First Point on Axis", "", False, False)
RaiseEvent PrepareInputBox("SCREW", "Insert First Point on Axis", "", False, False)
m_nInpType = IBT.TY_POINT3D
Case 1
m_ptP1 = m_ptLast
m_nStep = 2
m_Scene.EnableDrag()
RaiseEvent PrepareInputBox("REVOLVE+", "Insert Second Point on Axis", "", False, False)
RaiseEvent PrepareInputBox("SCREW", "Insert Second Point on Axis", "", False, False)
m_nInpType = IBT.TY_POINT3D
Case 2
m_ptP2 = m_ptLast
m_dLast = 360
m_nStep = 3
m_Scene.SetStatusNull()
m_Scene.DisableDrag()
RaiseEvent PrepareInputBox("REVOLVE+", "Insert Angle", "", False, True)
RaiseEvent PrepareInputBox("SCREW", "Insert Angle", "", False, True)
m_nInpType = IBT.TY_DOUBLE
SetInputBoxDouble(m_dLast)
Case 3
@@ -2711,8 +2732,9 @@ Public Class Controller
m_dPrev = m_dLast
m_dLast = 0
m_nStep = 4
m_Scene.SetStatusNull()
m_Scene.DisableDrag()
RaiseEvent PrepareInputBox("REVOLVE+", "Insert Move", "", False, True)
RaiseEvent PrepareInputBox("SCREW", "Insert Move", "", False, True)
m_nInpType = IBT.TY_DOUBLE
SetInputBoxDouble(m_dLast)
Case 4
@@ -2736,7 +2758,7 @@ Public Class Controller
Return True
End Function
Private Sub DragRevolvePlus()
Private Sub DragScrew()
If m_nStep = 2 Then
EgtSetGeoLine(m_ptP1, m_ptLast)
EgtDraw()
@@ -3085,7 +3107,7 @@ Public Class Controller
EgtExplodeCurveCompo(nId)
Case GDB_TY.CRV_BEZ
' approssimo la curva di Bezier con archi
EgtExplodeCurveBezier(nId, 10 * EPS_SMALL, True)
EgtExplodeCurveBezier(nId, True, 10 * EPS_SMALL)
Case GDB_TY.EXT_TEXT
' esplodo il testo nei suoi contorni
EgtExplodeText(nId)
@@ -3111,6 +3133,7 @@ Public Class Controller
End If
' imposto stato a impostazione spessore curva
m_nStep = 1
m_Scene.SetStatusNull()
' abilito dialogo
RaiseEvent PrepareInputBox("CURVE THICKNESS", "Insert Thickness", "Extraction from CPlane", False, True)
m_nInpType = IBT.TY_DOUBLE
@@ -3339,6 +3362,7 @@ Public Class Controller
m_ptP2 = m_ptLast
m_nStep = 3
m_dLast = 0
m_Scene.SetStatusNull()
' abilito dialogo
RaiseEvent PrepareInputBox("ROTATE 3D", "Insert angle", "Copy", False, True)
m_nInpType = IBT.TY_DOUBLE
@@ -3560,6 +3584,7 @@ Public Class Controller
m_dPrev = 1
m_dLast = 1
m_nStep = 2
m_Scene.SetStatusNull()
RaiseEvent PrepareInputBox("SCALE", "Insert Factor", "Copy", False, True)
m_nInpType = IBT.TY_DOUBLE
SetInputBoxDouble(m_dLast)
@@ -3630,6 +3655,7 @@ Public Class Controller
m_d3Last(1) = 1
m_d3Last(2) = 1
m_nStep = 2
m_Scene.SetStatusNull()
m_Scene.DisableDrag()
RaiseEvent PrepareInputBox("SCALE 3D", "Insert Factor", "Copy", False, True)
m_nInpType = IBT.TY_3DOUBLE
+13 -2
View File
@@ -915,7 +915,14 @@ End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Function EgtCreateSurfTriMeshByExtrusion(ByVal nParentId As Integer, ByVal nCrvId As Integer, ByRef VtExtr As Vector3d,
ByVal dLinTol As Double, Optional ByVal nRefType As REF_TY = REF_TY.LOC) As Integer
ByVal bCapEnds As Boolean, ByVal dLinTol As Double, Optional ByVal nRefType As REF_TY = REF_TY.LOC) As Integer
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Function EgtCreateSurfTriMeshByRevolve(ByVal nParentId As Integer, ByVal nCrvId As Integer,
ByRef PtAx As Point3d, ByRef VtAx As Vector3d,
ByVal bCapEnds As Boolean, ByVal dLinTol As Double,
Optional ByVal nRefType As REF_TY = REF_TY.LOC) As Integer
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
@@ -1040,7 +1047,7 @@ Public Function EgtExplodeCurveCompo(ByVal nId As Integer) As Boolean
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Function EgtExplodeCurveBezier(ByVal nId As Integer, ByVal dTolLin As Double, ByVal bArcsVsLines As Boolean) As Boolean
Public Function EgtExplodeCurveBezier(ByVal nId As Integer, ByVal bArcsVsLines As Boolean, ByVal dLinTol As Double) As Boolean
End Function
@@ -1183,6 +1190,10 @@ End Function
Public Function EgtErase(ByVal nId As Integer) As Boolean
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Function EgtEmptyGroup(ByVal nId As Integer) As Boolean
End Function
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
Public Function EgtGetType(ByVal nId As Integer) As GDB_TY
End Function
+56 -31
View File
@@ -25,7 +25,6 @@ Partial Class Form1
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form1))
Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel()
Me.Scene1 = New TestEIn.Scene()
Me.TabControl1 = New System.Windows.Forms.TabControl()
Me.TabHome = New System.Windows.Forms.TabPage()
Me.btnInsert = New System.Windows.Forms.Button()
@@ -108,7 +107,7 @@ Partial Class Form1
Me.btnLine2P = New System.Windows.Forms.Button()
Me.TabConstruct = New System.Windows.Forms.TabPage()
Me.btnRuled = New System.Windows.Forms.Button()
Me.btnRevolve = New System.Windows.Forms.Button()
Me.btnScrew = 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()
@@ -155,6 +154,8 @@ Partial Class Form1
Me.ObjTreeTimer = New System.Windows.Forms.Timer(Me.components)
Me.ColorDialog1 = New System.Windows.Forms.ColorDialog()
Me.FormTimer = New System.Windows.Forms.Timer(Me.components)
Me.btnRevolve = New System.Windows.Forms.Button()
Me.Scene1 = New TestEIn.Scene()
Me.TableLayoutPanel1.SuspendLayout()
Me.TabControl1.SuspendLayout()
Me.TabHome.SuspendLayout()
@@ -200,17 +201,6 @@ Partial Class Form1
Me.TableLayoutPanel1.Size = New System.Drawing.Size(1096, 641)
Me.TableLayoutPanel1.TabIndex = 0
'
'Scene1
'
Me.Scene1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
Me.Scene1.Cursor = System.Windows.Forms.Cursors.Default
Me.Scene1.Dock = System.Windows.Forms.DockStyle.Fill
Me.Scene1.Location = New System.Drawing.Point(89, 82)
Me.Scene1.Margin = New System.Windows.Forms.Padding(0)
Me.Scene1.Name = "Scene1"
Me.Scene1.Size = New System.Drawing.Size(787, 537)
Me.Scene1.TabIndex = 1
'
'TabControl1
'
Me.TableLayoutPanel1.SetColumnSpan(Me.TabControl1, 3)
@@ -1502,8 +1492,9 @@ Partial Class Form1
'TabConstruct
'
Me.TabConstruct.BackColor = System.Drawing.SystemColors.Control
Me.TabConstruct.Controls.Add(Me.btnRuled)
Me.TabConstruct.Controls.Add(Me.btnRevolve)
Me.TabConstruct.Controls.Add(Me.btnRuled)
Me.TabConstruct.Controls.Add(Me.btnScrew)
Me.TabConstruct.Controls.Add(Me.btnExtrude)
Me.TabConstruct.Controls.Add(Me.btnPlane)
Me.TabConstruct.Location = New System.Drawing.Point(23, 4)
@@ -1521,7 +1512,8 @@ Partial Class Form1
Me.btnRuled.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnRuled.Image = CType(resources.GetObject("btnRuled.Image"), System.Drawing.Image)
Me.btnRuled.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnRuled.Location = New System.Drawing.Point(0, 144)
Me.btnRuled.Location = New System.Drawing.Point(0, 192)
Me.btnRuled.Margin = New System.Windows.Forms.Padding(0)
Me.btnRuled.Name = "btnRuled"
Me.btnRuled.Size = New System.Drawing.Size(56, 48)
Me.btnRuled.TabIndex = 36
@@ -1529,22 +1521,23 @@ Partial Class Form1
Me.btnRuled.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnRuled.UseVisualStyleBackColor = False
'
'btnRevolve
'btnScrew
'
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
Me.btnScrew.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
Me.btnScrew.FlatAppearance.BorderSize = 0
Me.btnScrew.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
Me.btnScrew.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
Me.btnScrew.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnScrew.Image = CType(resources.GetObject("btnScrew.Image"), System.Drawing.Image)
Me.btnScrew.ImageAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnScrew.Location = New System.Drawing.Point(0, 144)
Me.btnScrew.Margin = New System.Windows.Forms.Padding(0)
Me.btnScrew.Name = "btnScrew"
Me.btnScrew.Size = New System.Drawing.Size(56, 48)
Me.btnScrew.TabIndex = 35
Me.btnScrew.Text = "Screw"
Me.btnScrew.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnScrew.UseVisualStyleBackColor = False
'
'btnExtrude
'
@@ -1556,6 +1549,7 @@ Partial Class Form1
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.Margin = New System.Windows.Forms.Padding(0)
Me.btnExtrude.Name = "btnExtrude"
Me.btnExtrude.Size = New System.Drawing.Size(56, 48)
Me.btnExtrude.TabIndex = 34
@@ -1573,6 +1567,7 @@ Partial Class Form1
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.Margin = New System.Windows.Forms.Padding(0)
Me.btnPlane.Name = "btnPlane"
Me.btnPlane.Size = New System.Drawing.Size(56, 48)
Me.btnPlane.TabIndex = 33
@@ -2088,6 +2083,35 @@ Partial Class Form1
'
Me.FormTimer.Interval = 50
'
'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(3, 96)
Me.btnRevolve.Margin = New System.Windows.Forms.Padding(0)
Me.btnRevolve.Name = "btnRevolve"
Me.btnRevolve.Size = New System.Drawing.Size(56, 48)
Me.btnRevolve.TabIndex = 37
Me.btnRevolve.Text = "Revolve"
Me.btnRevolve.TextAlign = System.Drawing.ContentAlignment.BottomCenter
Me.btnRevolve.UseVisualStyleBackColor = False
'
'Scene1
'
Me.Scene1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
Me.Scene1.Cursor = System.Windows.Forms.Cursors.Default
Me.Scene1.Dock = System.Windows.Forms.DockStyle.Fill
Me.Scene1.Location = New System.Drawing.Point(89, 82)
Me.Scene1.Margin = New System.Windows.Forms.Padding(0)
Me.Scene1.Name = "Scene1"
Me.Scene1.Size = New System.Drawing.Size(787, 537)
Me.Scene1.TabIndex = 1
'
'Form1
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -2209,7 +2233,7 @@ End Sub
Friend WithEvents InputCheck As System.Windows.Forms.CheckBox
Friend WithEvents InputText As System.Windows.Forms.TextBox
Friend WithEvents btnCircleCP As System.Windows.Forms.Button
Friend WithEvents btnRevolve As System.Windows.Forms.Button
Friend WithEvents btnScrew As System.Windows.Forms.Button
Friend WithEvents ImageList2 As System.Windows.Forms.ImageList
Friend WithEvents btnCPlane As System.Windows.Forms.Button
Friend WithEvents TabCPlane As System.Windows.Forms.TabPage
@@ -2265,5 +2289,6 @@ End Sub
Friend WithEvents btnText As System.Windows.Forms.Button
Friend WithEvents btnPolygonSide As System.Windows.Forms.Button
Friend WithEvents tsStatusReg As System.Windows.Forms.ToolStripStatusLabel
Friend WithEvents btnRevolve As System.Windows.Forms.Button
End Class
+83 -64
View File
@@ -871,7 +871,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC4
DQAAAk1TRnQBSQFMAgEBDgEAAdABDgHQAQ4BEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
DQAAAk1TRnQBSQFMAgEBDgEAAeABDgHgAQ4BEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAAUADAAEBAQABCAYAARAYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@@ -939,45 +939,45 @@
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADW
CAAAAk1TRnQBSQFMAgEBAgEAAfABBQHwAQUBEAEAARABAAT/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=
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADU
CAAAAk1TRnQBSQFMAgEBAgIAAQYBAAEGARABAAEQAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA
AUADAAEQAwABAQEAAQgGAAEEGAABgAIAAYADAAKAAQABgAMAAYABAAGAAQACgAIAA8ABAAHAAdwBwAEA
AfABygGmAQABMwUAATMBAAEzAQABMwEAAjMCAAMWAQADHAEAAyIBAAMpAQADVQEAA00BAANCAQADOQEA
AYABfAH/AQACUAH/AQABkwEAAdYBAAH/AewBzAEAAcYB1gHvAQAB1gLnAQABkAGpAa0CAAH/ATMDAAFm
AwABmQMAAcwCAAEzAwACMwIAATMBZgIAATMBmQIAATMBzAIAATMB/wIAAWYDAAFmATMCAAJmAgABZgGZ
AgABZgHMAgABZgH/AgABmQMAAZkBMwIAAZkBZgIAApkCAAGZAcwCAAGZAf8CAAHMAwABzAEzAgABzAFm
AgABzAGZAgACzAIAAcwB/wIAAf8BZgIAAf8BmQIAAf8BzAEAATMB/wIAAf8BAAEzAQABMwEAAWYBAAEz
AQABmQEAATMBAAHMAQABMwEAAf8BAAH/ATMCAAMzAQACMwFmAQACMwGZAQACMwHMAQACMwH/AQABMwFm
AgABMwFmATMBAAEzAmYBAAEzAWYBmQEAATMBZgHMAQABMwFmAf8BAAEzAZkCAAEzAZkBMwEAATMBmQFm
AQABMwKZAQABMwGZAcwBAAEzAZkB/wEAATMBzAIAATMBzAEzAQABMwHMAWYBAAEzAcwBmQEAATMCzAEA
ATMBzAH/AQABMwH/ATMBAAEzAf8BZgEAATMB/wGZAQABMwH/AcwBAAEzAv8BAAFmAwABZgEAATMBAAFm
AQABZgEAAWYBAAGZAQABZgEAAcwBAAFmAQAB/wEAAWYBMwIAAWYCMwEAAWYBMwFmAQABZgEzAZkBAAFm
ATMBzAEAAWYBMwH/AQACZgIAAmYBMwEAA2YBAAJmAZkBAAJmAcwBAAFmAZkCAAFmAZkBMwEAAWYBmQFm
AQABZgKZAQABZgGZAcwBAAFmAZkB/wEAAWYBzAIAAWYBzAEzAQABZgHMAZkBAAFmAswBAAFmAcwB/wEA
AWYB/wIAAWYB/wEzAQABZgH/AZkBAAFmAf8BzAEAAcwBAAH/AQAB/wEAAcwBAAKZAgABmQEzAZkBAAGZ
AQABmQEAAZkBAAHMAQABmQMAAZkCMwEAAZkBAAFmAQABmQEzAcwBAAGZAQAB/wEAAZkBZgIAAZkBZgEz
AQABmQEzAWYBAAGZAWYBmQEAAZkBZgHMAQABmQEzAf8BAAKZATMBAAKZAWYBAAOZAQACmQHMAQACmQH/
AQABmQHMAgABmQHMATMBAAFmAcwBZgEAAZkBzAGZAQABmQLMAQABmQHMAf8BAAGZAf8CAAGZAf8BMwEA
AZkBzAFmAQABmQH/AZkBAAGZAf8BzAEAAZkC/wEAAcwDAAGZAQABMwEAAcwBAAFmAQABzAEAAZkBAAHM
AQABzAEAAZkBMwIAAcwCMwEAAcwBMwFmAQABzAEzAZkBAAHMATMBzAEAAcwBMwH/AQABzAFmAgABzAFm
ATMBAAGZAmYBAAHMAWYBmQEAAcwBZgHMAQABmQFmAf8BAAHMAZkCAAHMAZkBMwEAAcwBmQFmAQABzAKZ
AQABzAGZAcwBAAHMAZkB/wEAAswCAALMATMBAALMAWYBAALMAZkBAAPMAQACzAH/AQABzAH/AgABzAH/
ATMBAAGZAf8BZgEAAcwB/wGZAQABzAH/AcwBAAHMAv8BAAHMAQABMwEAAf8BAAFmAQAB/wEAAZkBAAHM
ATMCAAH/AjMBAAH/ATMBZgEAAf8BMwGZAQAB/wEzAcwBAAH/ATMB/wEAAf8BZgIAAf8BZgEzAQABzAJm
AQAB/wFmAZkBAAH/AWYBzAEAAcwBZgH/AQAB/wGZAgAB/wGZATMBAAH/AZkBZgEAAf8CmQEAAf8BmQHM
AQAB/wGZAf8BAAH/AcwCAAH/AcwBMwEAAf8BzAFmAQAB/wHMAZkBAAH/AswBAAH/AcwB/wEAAv8BMwEA
AcwB/wFmAQAC/wGZAQAC/wHMAQACZgH/AQABZgH/AWYBAAFmAv8BAAH/AmYBAAH/AWYB/wEAAv8BZgEA
ASEBAAGlAQADXwEAA3cBAAOGAQADlgEAA8sBAAOyAQAD1wEAA90BAAPjAQAD6gEAA/EBAAP4AQAB8AH7
Af8BAAGkAqABAAOAAwAB/wIAAf8DAAL/AQAB/wMAAf8BAAH/AQAC/wIAA/+EAAL/AQAB/wIHAf8BAAP/
CAAB/wEHAbwB/ykAA/8B8QLyAfEE/wgAAfEC8gHxJgAB/wIAA/8B8gHxAfIB8wT/BwAB/wHxAhoB8gH/
JQAB/wIAAv8BAAHzAbwB8AH0BP8HAAH/AZoCMgEaAf8lAAH/AgAB/wEAAf8B8gLwAfIB/wEAAv8HAAH/
AXoCUwGaAf8lAAH/AgAB/wEAAfQB8QHyAvEB9AEAAv8HAAHzAVMBegFZAVMB8yUAAf8DAAH/AfIC8wLy
AfAB/wEAAf8GAAH/AVkDegFZATIB/yQAAf8DAAH0AfMB9ALzAvIB9AEAAf8GAAEaApoDegFZARokAAH/
AwAF9ALzAfQBAAH/BgABGgR6ApoBGiQAAf8DAAX/AvQB/wEAAf8GAAH/BnoB/yQAAf8CAAv/BgAB/wEa
AZoCegGaARsB/yQAAf8CAAH/AQAG/wEAAv8HAAL/AvQC/yUAAf8/AAH/PwABQgFNAT4HAAE+AwABKAMA
AUADAAEQAwABAQEAAQEFAAGAFwAD/wEABP8EAAT/BAAB5AEjAfwBPwQAAeABAwH8AT8EAAFgAQMB+AEf
BAABZAEDAfgBHwQAAWgBEwH4AR8EAAFoARMB+AEfBAABcAELAfABDwQAAXABCwHwAQ8EAAFwAQsB8AEP
BAABcAELAfABDwQAAWABAwHwAQ8EAAFoARMB+AEfBAABfwP/BAABfwP/BAAL
</value>
</data>
<data name="btnPolygonSide.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -1097,6 +1097,27 @@
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>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAHdElNRQffAR8POQ1hz9wZAAADZElEQVRYR8WUSUxTURSG
f924cOVGdyYmLtm50hBNXKALF8aFQxyIYSpgoaUUASuTQ4xgTCAu1MSdcaUxyEJjjFExUWsAkaBgocjk
AILUkeH1+N8OBOspNMY8m3x97X/vPcN95xyIyH9FFVMDy+FoG4RndLO+nhqqmArIau1H4XtB9idBfucG
bU8qqOJSYM+N6yh4JygbF5R/FuSNCdY7V2h7l0IVFwMbnVtwoCfq2FD5dRrekMAzMqbtXwpVXAwceizw
8torvwmOkZqZz/B9n0UBNWfPIe3MYqhiMrDzci5ygnT+ReD7KTg+IzgbDqJubhxe3oZrmNv0s8lQxWQg
894UPHzvvh+CqlliCZqkGw3Si6NTAgeLsuBlhnY2GaqogdVpa7C/W1BBR8Z5dZjXTy5KB3mGct6Ki8VY
1HdHO58MVdTA7mtFyBuIvvdqZl5DsZY0yRtckHaUhyyUMgBHgNt1GxqqqMG+vwnnaPT6TebxAM7JKM5L
D1/BHLwfBZl9goz6lZoNDVXUYADt8LDSTfZ1FE6SE6RBxhjEQDSAD4IsFunB5nWaDQ1VjJO+Fquw6+oV
7GsOIvs5B067KTJB4SvTcnzfbwTFzLi4Pxx7Co4EqAcmUNT7AIVdezW7C1FFA7aedGDbLWbzRJDzgk5Z
gM7eqEMXs3SxHkqGOYA4EUuZuZfdUcYbOjrB38TN/7lccw1M0twyzYdBF9N927HjPrNhpsaZZ4RG6cSM
XuPgNyJOLVSwCCtCYcJOMbBbzKQsZmG6gyHNj0EX997lVb9mhkN0SgPGmKn+yPCZjg4gQ9WchTorhAYr
iEbrJeqtAGqsKY5nKzqqJ6NB59BOfudh1dcfQsapNOzu4JUzczer2sz5clZ+JXv/GKvft4BqHjgt02iU
IVySTj4DqA1/RRmdl9Cxm8G7OJwcg+YVdiX6ivj7QzjQsolF1IuSQT+v18/M/aia8XPw+Nl2iTxlJ7Ti
jNxlN7QwmNts04e8tafwvvdHKB31w/22jQX5KNFXxJ8m2okq2okq/gv4MV/zJK7HUUVD7GANSdfWUyF2
/q8DmD8c+51SIGZfbP/Cs1xKsl8T4/CTaCxOJKAY2vr8npgdPpL40MREFhhaNKDEc6mginaiinaiinai
inaiinaiinaiivYh+AXCneCmEYDZ6QAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnRuled.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -1121,25 +1142,23 @@
KAWuTvelAAAAAElFTkSuQmCC
</value>
</data>
<data name="btnRevolve.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="btnScrew.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="btnExtrude.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -1371,12 +1390,12 @@
</data>
<data name="btnMirror.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAHdElNRQffARMLMg3P5BK2AAAA4UlEQVRYR+2OwQ0CMQwE
UwAlUQ91RKIRRBv34U0ldBFsQ6I4LCGOwPfgIo1yXke3E1JKqwJDT2A4Ah268M4CDEdwEwi75ZJReSMQ
zreUqfNPwLBGyo9LGhI4XQ+bwFcFSrlFwCgBQ0aVWwUMEjhsy2cEBiVeA1Q+KzAgoYd35cysANOR0MMm
sAn8iwCdfflWCwcBLici3zLnhQw/FuBSIj6/RaL8QEIW6KDeIoEO8uZRWgvE8gMrdOjCux5cqu56aYEO
XXjXoxSvKZCRuX3gDQw9gaEnMPQEhp7A0BMY+pHCHcN+uyEht9XQAAAAAElFTkSuQmCC
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAAd0SU1FB98BEwsyDc/kErYAAADhSURBVFhH7Y7BDQIxDARTACVRD3VEohFEG/fh
TSV0EWxDojgsIY7A9+AijXJeR7cTUkqrAkNPYDgCHbrwzgIMR3ATCLvlklF5IxDOt5Sp80/AsEbKj0sa
EjhdD5vAVwVKuUXAKAFDRpVbBQwSOGzLZwQGJV4DVD4rMCChh3flzKwA05HQwyawCfyLAJ19+VYLBwEu
JyLfMueFDD8W4FIiPr9FovxAQhbooN4igQ7y5lFaC8TyAyt06MK7Hlyq7nppgQ5deNejFK8pkJG5feAN
DD2BoScw9ASGnsDQExj6kcIdw367ISG31dAAAAAASUVORK5CYII=
</value>
</data>
<data name="btnRotate.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+6 -5
View File
@@ -445,6 +445,7 @@ Public Class Form1
btnPlane.Enabled = bLayerOk And bSelOk
btnExtrude.Enabled = bLayerOk And bSelOk
btnRevolve.Enabled = bLayerOk And bSelOk
btnScrew.Enabled = bLayerOk And bSelOk
btnRuled.Enabled = bLayerOk And bSelOk
' Edit
btnDelete.Enabled = bSelOk
@@ -724,11 +725,11 @@ Public Class Form1
End Sub
Private Sub btnRevolve_Click(sender As System.Object, e As System.EventArgs) Handles btnRevolve.Click
If (ModifierKeys And Keys.Shift) <> Keys.Shift Then
m_Controller.ExecuteCommand(CMD.REVOLVE)
Else
m_Controller.ExecuteCommand(CMD.REVOLVEPLUS)
End If
m_Controller.ExecuteCommand(CMD.REVOLVE)
End Sub
Private Sub btnScrew_Click(sender As System.Object, e As System.EventArgs) Handles btnScrew.Click
m_Controller.ExecuteCommand(CMD.SCREW)
End Sub
Private Sub btnRuled_Click(sender As System.Object, e As System.EventArgs) Handles btnRuled.Click
+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.6.1.7")>
<Assembly: AssemblyFileVersion("1.6.1.7")>
<Assembly: AssemblyVersion("1.6.2.1")>
<Assembly: AssemblyFileVersion("1.6.2.1")>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 841 B

After

Width:  |  Height:  |  Size: 811 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 807 B

+41 -29
View File
@@ -27,6 +27,7 @@ Public Class Scene
Private m_nOldStatus As ST
Private Enum ST As Integer
NULL = 0
SEL
PAN
ROT
ZOOMWIN
@@ -68,8 +69,8 @@ Public Class Scene
SetStyle(ControlStyles.UserPaint, True)
SetStyle(ControlStyles.AllPaintingInWmPaint, True)
m_nGseContext = 0
m_nStatus = ST.NULL
m_nOldStatus = ST.NULL
m_nStatus = ST.SEL
m_nOldStatus = ST.SEL
m_nSnapType = SP.PT_GRID
RaiseEvent OnChangedSnapPointType(Me, m_nSnapType)
m_bAlsoSelDir = False
@@ -87,7 +88,7 @@ Public Class Scene
m_bZwOutline = True
m_ZwColor.Setup(0, 0, 0)
m_DstLnColor.Setup(255, 0, 0)
Cursor = Cursors.Default
Cursor = New Cursor(Me.GetType(), "Select.cur")
End Sub
'---- Initials --------
@@ -206,14 +207,14 @@ Public Class Scene
EgtSetCurrentContext(m_nGseContext)
' --- Pressione tasto sinistro ---
If e.Button = Windows.Forms.MouseButtons.Left Then
' se stato WINSEL oppure NULL e premuto SHIFT allora inizio selezione a finestra
' se stato WINSEL oppure SEL e premuto SHIFT allora inizio selezione a finestra
If m_nStatus = ST.WINSEL Or
(m_nStatus = ST.NULL And (ModifierKeys And Keys.Shift) = Keys.Shift) Then
(m_nStatus = ST.SEL And (ModifierKeys And Keys.Shift) = Keys.Shift) Then
Cursor = New Cursor(Me.GetType(), "WinSelect.cur")
m_PrevPoint = e.Location
m_nStatus = ST.WINSEL
' se stato NULL (selezione), SELPART, SELLAYER o ANALYZE
ElseIf m_nStatus = ST.NULL Or m_nStatus = ST.SELPART Or
' se stato SEL, SELPART, SELLAYER o ANALYZE
ElseIf m_nStatus = ST.SEL Or m_nStatus = ST.SELPART Or
m_nStatus = ST.SELLAYER Or m_nStatus = ST.ANALYZE Then
If m_nStatus <> ST.ANALYZE Then
Cursor = New Cursor(Me.GetType(), "Select.cur")
@@ -238,14 +239,14 @@ Public Class Scene
If nId <> GDB_ID.NULL Then
' evento per entità selezionate
Select Case m_nStatus
Case ST.NULL
Case ST.SEL
RaiseEvent OnMouseSelectedObj(Me, nId, True)
Case ST.SELPART
RaiseEvent OnMouseSelectedPart(Me, nId)
m_nStatus = ST.NULL
m_nStatus = ST.SEL
Case ST.SELLAYER
RaiseEvent OnMouseSelectedLayer(Me, nId)
m_nStatus = ST.NULL
m_nStatus = ST.SEL
Case Else
RaiseEvent OnMouseAnalyzed(Me, nId)
End Select
@@ -287,7 +288,7 @@ Public Class Scene
' lancio l'evento per visualizzare la distanza
RaiseEvent OnShowDistance(Me, sOut.ToString())
m_nStatus = ST.GETDIST
m_nOldStatus = ST.NULL
m_nOldStatus = ST.SEL
End If
' se stato selezione punto
ElseIf m_nStatus = ST.SELPOINT Then
@@ -406,8 +407,8 @@ Public Class Scene
RaiseEvent OnMouseSelectedObj(Me, nId, (nNextId = GDB_ID.NULL))
nId = nNextId
End While
' ritorno allo stato NULL
m_nStatus = ST.NULL
' ritorno allo stato SEL
m_nStatus = ST.SEL
Cursor = New Cursor(Me.GetType(), "Select.cur")
End If
' --- Rilascio tasto medio (rotella) ---
@@ -419,9 +420,9 @@ Public Class Scene
' eventuale ripristino vecchio stato
If RestoreStatus() Then
' non devo fare alcunché
' reset dello stato se non NULL
ElseIf m_nStatus <> ST.NULL Then
m_nStatus = ST.NULL
' reset dello stato se non SEL
ElseIf m_nStatus <> ST.SEL Then
m_nStatus = ST.SEL
Cursor = New Cursor(Me.GetType(), "Select.cur")
End If
' --- Rilascio tasto destro ---
@@ -445,8 +446,9 @@ Public Class Scene
EgtSetCurrentContext(m_nGseContext)
End If
' Se sono abbastanza all'interno della scena (10% della dimensione), imposto il focus
If e.Location.X > 0.1 * Size.Width AndAlso e.Location.X < 0.9 * Size.Width AndAlso
e.Location.Y > 0.1 * Size.Height AndAlso e.Location.Y < 0.9 * Size.Height Then
Const BordPu As Double = 0.10000000000000001
If e.Location.X > BordPu * Size.Width AndAlso e.Location.X < (1 - BordPu) * Size.Width AndAlso
e.Location.Y > BordPu * Size.Height AndAlso e.Location.Y < (1 - BordPu) * Size.Height Then
Focus()
End If
' Visualizzo le coordinate del mouse
@@ -472,7 +474,7 @@ Public Class Scene
EgtPanCamera(m_PrevPoint, e.Location, True)
m_PrevPoint = e.Location
Else
m_nStatus = ST.NULL
m_nStatus = ST.SEL
End If
' --- Altri casi dipendenti dallo stato ---
ElseIf m_nStatus = ST.WINSEL Then
@@ -508,6 +510,8 @@ Public Class Scene
MyBase.OnMouseMove(e)
End If
If m_nStatus = ST.NULL Then
Cursor = Cursors.Default
ElseIf m_nStatus = ST.SEL Then
Cursor = New Cursor(Me.GetType(), "Select.cur")
End If
' Ripristino il contesto originale
@@ -527,7 +531,7 @@ Public Class Scene
End If
' calcolo coefficiente
Const WHEEL_DELTA As Double = 120
Dim dCoeff As Double = 1 - 0.1 * Abs(e.Delta) / WHEEL_DELTA
Dim dCoeff As Double = 1 - 0.10000000000000001 * Abs(e.Delta) / WHEEL_DELTA
If e.Delta < 0 Then
dCoeff = 1 / dCoeff
End If
@@ -673,7 +677,7 @@ Public Class Scene
Private Sub PrepareMenuScene()
' per selezione oggetti
If m_nStatus = ST.NULL Then
If m_nStatus = ST.SEL Then
MenuScene.Visible = True
For Each i As ToolStripItem In MenuScene.Items
If i.Name = "cmdSelectAll" Then
@@ -822,7 +826,7 @@ Public Class Scene
'---- Status management -------------
Private Function IsRestorableCurrStatus() As Boolean
Select Case m_nStatus
Case ST.NULL, ST.ANALYZE, ST.SELPART, ST.SELLAYER, ST.GETDIST, ST.GETDIST2, ST.SELPOINT, ST.SELPOINTZ
Case ST.NULL, ST.SEL, ST.ANALYZE, ST.SELPART, ST.SELLAYER, ST.GETDIST, ST.GETDIST2, ST.SELPOINT, ST.SELPOINTZ
Return True
Case Else
Return False
@@ -837,7 +841,11 @@ Public Class Scene
Private Function RestoreStatus() As Boolean
' eventuale ripristino vecchio stato
If m_nOldStatus = ST.NULL Or m_nOldStatus = ST.SELPART Or m_nOldStatus = ST.SELLAYER Then
If m_nOldStatus = ST.NULL Then
m_nStatus = m_nOldStatus
Cursor = Cursors.Default
Return True
ElseIf m_nOldStatus = ST.SEL Or m_nOldStatus = ST.SELPART Or m_nOldStatus = ST.SELLAYER Then
m_nStatus = m_nOldStatus
Cursor = New Cursor(Me.GetType(), "Select.cur")
Return True
@@ -857,6 +865,10 @@ Public Class Scene
Return False
End Function
Public Sub SetStatusNull()
m_nStatus = ST.NULL
End Sub
Public Sub SetStatusAnalyze()
m_nStatus = ST.ANALYZE
End Sub
@@ -879,8 +891,8 @@ Public Class Scene
' reset entità non selezionabili
EgtUnselectableClearAll()
' imposto lo stato
m_nStatus = ST.NULL
m_nOldStatus = ST.NULL
m_nStatus = ST.SEL
m_nOldStatus = ST.SEL
' disabilito scelta punto tangente, perpendicolare e minima distanza
DisableTangentPoint()
DisablePerpendicularPoint()
@@ -895,15 +907,15 @@ Public Class Scene
Public Sub ResetStatusAnalyze()
If m_nStatus = ST.ANALYZE Then
m_nStatus = ST.NULL
m_nOldStatus = ST.NULL
m_nStatus = ST.SEL
m_nOldStatus = ST.SEL
End If
End Sub
Public Sub ResetStatusGetDistance()
If m_nStatus = ST.GETDIST Or m_nStatus = ST.GETDIST2 Then
m_nStatus = ST.NULL
m_nOldStatus = ST.NULL
m_nStatus = ST.SEL
m_nOldStatus = ST.SEL
End If
EgtResetGeoLine()
RaiseEvent OnCloseGetDist(Me)
+3
View File
@@ -494,6 +494,9 @@
<ItemGroup>
<None Include="Resources\PolygonSide.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\Screw.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<PropertyGroup>
<PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\TestEIn\TestEInR32.exe