TestEIn 1.6b2 :
- modifiche per gestione max numero istanze - modufiche per superfici di regioni piane con buchi e per estrusioni con buchi e chiusure.
This commit is contained in:
+3
-3
@@ -8,7 +8,7 @@ Public NotInheritable Class AboutBox1
|
||||
If My.Application.Info.Title <> "" Then
|
||||
ApplicationTitle = My.Application.Info.Title
|
||||
Else
|
||||
ApplicationTitle = System.IO.Path.GetFileNameWithoutExtension(My.Application.Info.AssemblyName)
|
||||
ApplicationTitle = My.Application.Info.AssemblyName
|
||||
End If
|
||||
Me.Text = String.Format("Informazioni su {0}", My.Application.Info.ProductName)
|
||||
' Inizializza tutto il testo visualizzato nella finestra di dialogo Informazioni su.
|
||||
@@ -18,8 +18,8 @@ Public NotInheritable Class AboutBox1
|
||||
Me.LabelCompanyName.Text = My.Application.Info.CompanyName
|
||||
Dim sbInfo As New System.Text.StringBuilder
|
||||
sbInfo.Append("User " & SystemInformation.UserName &
|
||||
"\" & SystemInformation.ComputerName &
|
||||
" Inst=" & Form1.GetInstance() & vbCrLf)
|
||||
"\" & SystemInformation.ComputerName &
|
||||
" (" & Form1.GetInstance() & ")" & vbCrLf)
|
||||
sbInfo.Append("ExeRoot " & Form1.GetExeRoot() & vbCrLf)
|
||||
sbInfo.Append("DataRoot " & Form1.GetDataRoot() & vbCrLf)
|
||||
Dim sTemp As String = String.Empty
|
||||
|
||||
+98
-7
@@ -92,6 +92,7 @@ Public Class Controller
|
||||
INVERTCURVE
|
||||
TRIMEXTENDCURVE
|
||||
BREAKCURVE
|
||||
SPLITCURVE
|
||||
JOINCURVE
|
||||
EXPLODECURVE
|
||||
SETCURVETHICKNESS
|
||||
@@ -275,6 +276,10 @@ Public Class Controller
|
||||
End Function
|
||||
|
||||
Public Function SaveAsProject(Optional ByVal sFile As String = "", Optional ByVal nType As NGE = NGE.CMPTEXT) As Boolean
|
||||
'Se nome vuoto, assegno "New"
|
||||
If String.IsNullOrWhiteSpace(sFile) Then
|
||||
sFile = "New.nge"
|
||||
End If
|
||||
'Eventuale sistemazione estensione
|
||||
sFile = IO.Path.ChangeExtension(sFile, "nge")
|
||||
'Assegnazione nome file con dialogo
|
||||
@@ -867,6 +872,9 @@ Public Class Controller
|
||||
' Break Curve
|
||||
Case CMD.BREAKCURVE
|
||||
Return ProcessBreakCurve()
|
||||
' Split Curve in N parts
|
||||
Case CMD.SPLITCURVE
|
||||
Return ProcessSplitCurve()
|
||||
' Join Curve
|
||||
Case CMD.JOINCURVE
|
||||
Return ProcessJoinCurve()
|
||||
@@ -2585,7 +2593,24 @@ Public Class Controller
|
||||
End If
|
||||
' creo la superficie piana (a partire da un contorno selezionato)
|
||||
EnableCommandLog()
|
||||
EgtCreateSurfTriMeshByContour(GetCurrLayer(), EgtGetLastSelectedObj(), EPS_STM)
|
||||
If EgtGetSelectedObjNbr() = 1 Then
|
||||
EgtCreateSurfTriMeshByFlatContour(GetCurrLayer(), EgtGetLastSelectedObj(), EPS_STM)
|
||||
Else
|
||||
' creo vettore di entità selezionate
|
||||
Dim nCrvNum As Integer = 0
|
||||
Dim nCrvIds(EgtGetSelectedObjNbr() - 1) As Integer
|
||||
Dim nId As Integer = EgtGetFirstSelectedObj()
|
||||
While nId <> GDB_ID.NULL
|
||||
Select Case EgtGetType(nId)
|
||||
Case GDB_TY.CRV_LINE, GDB_TY.CRV_ARC, GDB_TY.CRV_BEZ, GDB_TY.CRV_COMPO
|
||||
nCrvIds(nCrvNum) = nId
|
||||
nCrvNum = nCrvNum + 1
|
||||
End Select
|
||||
nId = EgtGetNextSelectedObj()
|
||||
End While
|
||||
' creo la superficie
|
||||
EgtCreateSurfTriMeshByRegion(GetCurrLayer(), nCrvNum, nCrvIds, EPS_STM)
|
||||
End If
|
||||
DisableCommandLog()
|
||||
' reset stato scena
|
||||
m_Scene.ResetStatus()
|
||||
@@ -2615,11 +2640,29 @@ Public Class Controller
|
||||
Case 1
|
||||
' reset scena
|
||||
m_Scene.ResetStatus(False)
|
||||
' creo la superficie di estrusione (a partire da un contorno selezionato)
|
||||
' creo la superficie di estrusione (a partire da uno o più contorni selezionati)
|
||||
Dim VtExtr As Vector3d = Vector3d.Z_AX * m_dLast
|
||||
' creo vettore di entità selezionate
|
||||
Dim nCrvNum As Integer = 0
|
||||
Dim nCrvIds(EgtGetSelectedObjNbr() - 1) As Integer
|
||||
Dim nId As Integer = EgtGetFirstSelectedObj()
|
||||
While nId <> GDB_ID.NULL
|
||||
Select Case EgtGetType(nId)
|
||||
Case GDB_TY.CRV_LINE, GDB_TY.CRV_ARC, GDB_TY.CRV_BEZ, GDB_TY.CRV_COMPO
|
||||
nCrvIds(nCrvNum) = nId
|
||||
nCrvNum = nCrvNum + 1
|
||||
End Select
|
||||
nId = EgtGetNextSelectedObj()
|
||||
End While
|
||||
' eseguo
|
||||
EnableCommandLog()
|
||||
EgtCreateSurfTriMeshByExtrusion(GetCurrLayer(), EgtGetLastSelectedObj(), VtExtr,
|
||||
m_bLast, EPS_STM, REF_TY.GRID)
|
||||
If Not m_bLast Then
|
||||
EgtCreateSurfTriMeshByExtrusion(GetCurrLayer(), nCrvNum, nCrvIds, VtExtr,
|
||||
EPS_STM, REF_TY.GRID)
|
||||
Else
|
||||
EgtCreateSurfTriMeshByRegionExtrusion(GetCurrLayer(), nCrvNum, nCrvIds, VtExtr,
|
||||
EPS_STM, REF_TY.GRID)
|
||||
End If
|
||||
DisableCommandLog()
|
||||
EgtDraw()
|
||||
' aggiorno stato
|
||||
@@ -2636,10 +2679,27 @@ Public Class Controller
|
||||
If m_nStep = 1 Then
|
||||
' cancello eventuale vecchia superficie di estrusione
|
||||
EgtEmptyGroup(m_Scene.GetDragGroup())
|
||||
' creo la superficie di estrusione (a partire da un contorno selezionato)
|
||||
' creo la superficie di estrusione (a partire da uno o più contorni selezionati)
|
||||
Dim VtExtr As Vector3d = EgtGetGridVersZ() * m_dLast
|
||||
EgtCreateSurfTriMeshByExtrusion(m_Scene.GetDragGroup(), EgtGetLastSelectedObj(), VtExtr,
|
||||
m_bLast, EPS_STM_DRAG, REF_TY.GLOB)
|
||||
Dim nCrvNum As Integer = 0
|
||||
Dim nCrvIds(EgtGetSelectedObjNbr() - 1) As Integer
|
||||
Dim nId As Integer = EgtGetFirstSelectedObj()
|
||||
While nId <> GDB_ID.NULL
|
||||
Select Case EgtGetType(nId)
|
||||
Case GDB_TY.CRV_LINE, GDB_TY.CRV_ARC, GDB_TY.CRV_BEZ, GDB_TY.CRV_COMPO
|
||||
nCrvIds(nCrvNum) = nId
|
||||
nCrvNum = nCrvNum + 1
|
||||
End Select
|
||||
nId = EgtGetNextSelectedObj()
|
||||
End While
|
||||
' eseguo
|
||||
If Not m_bLast Then
|
||||
EgtCreateSurfTriMeshByExtrusion(m_Scene.GetDragGroup(), nCrvNum, nCrvIds, VtExtr,
|
||||
EPS_STM_DRAG, REF_TY.GLOB)
|
||||
Else
|
||||
EgtCreateSurfTriMeshByRegionExtrusion(m_Scene.GetDragGroup(), nCrvNum, nCrvIds, VtExtr,
|
||||
EPS_STM_DRAG, REF_TY.GLOB)
|
||||
End If
|
||||
EgtDraw()
|
||||
End If
|
||||
End Sub
|
||||
@@ -3047,6 +3107,37 @@ Public Class Controller
|
||||
EgtSplitCurveAtPoint(nId, m_ptLast.Loc(GDB_ID.GRID), REF_TY.GRID)
|
||||
DisableCommandLog()
|
||||
' reset stato scena
|
||||
EgtDeselectObj(nId)
|
||||
m_Scene.ResetStatus()
|
||||
' aggiorno stato
|
||||
m_nStep = 0
|
||||
RaiseEvent UpdateUI(Me, False)
|
||||
Case Else
|
||||
m_nStep = 0
|
||||
Return False
|
||||
End Select
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Private Function ProcessSplitCurve() As Boolean
|
||||
Select Case m_nStep
|
||||
Case 0
|
||||
' imposto stato a numero di pezzi
|
||||
m_nStep = 1
|
||||
m_Scene.SetStatusNull()
|
||||
' abilito dialogo
|
||||
RaiseEvent PrepareInputBox("SPLIT", "Insert Pieces Number", "", False, False)
|
||||
m_nInpType = IBT.TY_INTEGER
|
||||
m_nLast = 2
|
||||
SetInputBoxInteger(m_nLast)
|
||||
Case 1
|
||||
' eseguo spezzatura in parti
|
||||
Dim nId As Integer = EgtGetLastSelectedObj()
|
||||
EnableCommandLog()
|
||||
EgtSplitCurve(nId, m_nLast)
|
||||
DisableCommandLog()
|
||||
' reset stato scena
|
||||
EgtDeselectObj(nId)
|
||||
m_Scene.ResetStatus()
|
||||
' aggiorno stato
|
||||
m_nStep = 0
|
||||
|
||||
+25
-4
@@ -498,6 +498,12 @@ Structure Color3d
|
||||
B = nBlue
|
||||
A = nAlpha
|
||||
End Sub
|
||||
Sub New(ByRef colSou As Color3d)
|
||||
R = colSou.R
|
||||
G = colSou.G
|
||||
B = colSou.B
|
||||
A = colSou.A
|
||||
End Sub
|
||||
' Inizializzatori
|
||||
Sub Setup(ByVal nRed As Integer, ByVal nGreen As Integer, ByVal nBlue As Integer, Optional ByVal nAlpha As Integer = 100)
|
||||
R = nRed
|
||||
@@ -535,7 +541,7 @@ Const EgtIntDll As String = "EgtInterfaceR32.dll"
|
||||
|
||||
'---------- General ------------------------------------------------------------
|
||||
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
|
||||
Public Function EgtInit(ByVal nDebug As Integer, ByVal sLogFile As String) As Boolean
|
||||
Public Function EgtInit(ByVal nDebug As Integer, ByVal sLogFile As String, Optional ByVal sLogMsg As String = "") As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
|
||||
@@ -910,12 +916,23 @@ Public Function EgtCreatePolygonFromSide(ByVal nParentId As Integer, ByVal nNumS
|
||||
End Function
|
||||
|
||||
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
|
||||
Public Function EgtCreateSurfTriMeshByContour(ByVal nParentId As Integer, ByVal nCrvId As Integer, ByVal dLinTol As Double) As Integer
|
||||
Public Function EgtCreateSurfTriMeshByFlatContour(ByVal nParentId As Integer, ByVal nCrvId As Integer, ByVal dLinTol As Double) As Integer
|
||||
End Function
|
||||
|
||||
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
|
||||
Public Function EgtCreateSurfTriMeshByExtrusion(ByVal nParentId As Integer, ByVal nCrvId As Integer, ByRef VtExtr As Vector3d,
|
||||
ByVal bCapEnds As Boolean, ByVal dLinTol As Double, Optional ByVal nRefType As REF_TY = REF_TY.LOC) As Integer
|
||||
Public Function EgtCreateSurfTriMeshByRegion(ByVal nParentId As Integer, ByVal nNumCrv As Integer, ByVal nCrvId() As Integer, ByVal dLinTol As Double) As Integer
|
||||
End Function
|
||||
|
||||
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
|
||||
Public Function EgtCreateSurfTriMeshByExtrusion(ByVal nParentId As Integer, ByVal nNumCrv 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
|
||||
End Function
|
||||
|
||||
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
|
||||
Public Function EgtCreateSurfTriMeshByRegionExtrusion(ByVal nParentId As Integer, ByVal nNumCrv 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
|
||||
End Function
|
||||
|
||||
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
|
||||
@@ -1018,6 +1035,10 @@ End Function
|
||||
Public Function EgtTrimExtendCurveByLen(ByVal nId As Integer, ByVal dLen As Double, ByRef PtNear As Point3d, Optional ByVal nRefType As REF_TY = REF_TY.LOC) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
|
||||
Public Function EgtSplitCurve(ByVal nId As Integer, ByVal nParts As Integer) As Boolean
|
||||
End Function
|
||||
|
||||
<DllImport(EgtIntDll, CharSet:=CharSet.Unicode)>
|
||||
Public Function EgtSplitCurveAtPoint(ByVal nId As Integer, ByRef PtOn As Point3d, Optional ByVal nRefType As REF_TY = REF_TY.LOC) As Boolean
|
||||
End Function
|
||||
|
||||
Generated
+38
-30
@@ -25,6 +25,7 @@ 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()
|
||||
@@ -106,6 +107,7 @@ Partial Class Form1
|
||||
Me.btnPoint = New System.Windows.Forms.Button()
|
||||
Me.btnLine2P = New System.Windows.Forms.Button()
|
||||
Me.TabConstruct = New System.Windows.Forms.TabPage()
|
||||
Me.btnRevolve = New System.Windows.Forms.Button()
|
||||
Me.btnRuled = New System.Windows.Forms.Button()
|
||||
Me.btnScrew = New System.Windows.Forms.Button()
|
||||
Me.btnExtrude = New System.Windows.Forms.Button()
|
||||
@@ -154,8 +156,7 @@ 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.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components)
|
||||
Me.TableLayoutPanel1.SuspendLayout()
|
||||
Me.TabControl1.SuspendLayout()
|
||||
Me.TabHome.SuspendLayout()
|
||||
@@ -201,6 +202,17 @@ 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)
|
||||
@@ -1503,6 +1515,24 @@ Partial Class Form1
|
||||
Me.TabConstruct.TabIndex = 4
|
||||
Me.TabConstruct.Text = "Construct"
|
||||
'
|
||||
'btnRevolve
|
||||
'
|
||||
Me.btnRevolve.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
|
||||
Me.btnRevolve.FlatAppearance.BorderSize = 0
|
||||
Me.btnRevolve.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control
|
||||
Me.btnRevolve.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption
|
||||
Me.btnRevolve.FlatStyle = System.Windows.Forms.FlatStyle.Flat
|
||||
Me.btnRevolve.Image = CType(resources.GetObject("btnRevolve.Image"), System.Drawing.Image)
|
||||
Me.btnRevolve.ImageAlign = System.Drawing.ContentAlignment.TopCenter
|
||||
Me.btnRevolve.Location = New System.Drawing.Point(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
|
||||
'
|
||||
'btnRuled
|
||||
'
|
||||
Me.btnRuled.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control
|
||||
@@ -1608,7 +1638,7 @@ Partial Class Form1
|
||||
Me.btnInvertSurf.Name = "btnInvertSurf"
|
||||
Me.btnInvertSurf.Size = New System.Drawing.Size(56, 48)
|
||||
Me.btnInvertSurf.TabIndex = 41
|
||||
Me.btnInvertSurf.Text = "Invert S"
|
||||
Me.btnInvertSurf.Text = "Flip Surf"
|
||||
Me.btnInvertSurf.TextAlign = System.Drawing.ContentAlignment.BottomCenter
|
||||
Me.btnInvertSurf.UseVisualStyleBackColor = False
|
||||
'
|
||||
@@ -2083,34 +2113,11 @@ Partial Class Form1
|
||||
'
|
||||
Me.FormTimer.Interval = 50
|
||||
'
|
||||
'btnRevolve
|
||||
'ToolTip1
|
||||
'
|
||||
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
|
||||
Me.ToolTip1.ShowAlways = True
|
||||
Me.ToolTip1.StripAmpersands = True
|
||||
Me.ToolTip1.UseFading = False
|
||||
'
|
||||
'Form1
|
||||
'
|
||||
@@ -2290,5 +2297,6 @@ End Sub
|
||||
Friend WithEvents btnPolygonSide As System.Windows.Forms.Button
|
||||
Friend WithEvents tsStatusReg As System.Windows.Forms.ToolStripStatusLabel
|
||||
Friend WithEvents btnRevolve As System.Windows.Forms.Button
|
||||
Friend WithEvents ToolTip1 As System.Windows.Forms.ToolTip
|
||||
|
||||
End Class
|
||||
|
||||
+81
-77
@@ -871,7 +871,7 @@
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC4
|
||||
DQAAAk1TRnQBSQFMAgEBDgEAAeABDgHgAQ4BEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
DQAAAk1TRnQBSQFMAgEBDgEAARgBDwEYAQ8BEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
AwABQAMAAUADAAEBAQABCAYAARAYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||
@@ -939,45 +939,45 @@
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
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
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADW
|
||||
CAAAAk1TRnQBSQFMAgEBAgEAATgBBgE4AQYBEAEAARABAAT/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="btnPolygonSide.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
@@ -1101,23 +1101,23 @@
|
||||
</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==
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
xAAADsQBlSsOGwAAAAd0SU1FB98BHw85DWHP3BkAAANkSURBVFhHxZRJTFNRFIZ/3bhw5UZ3JiYu2bnS
|
||||
EE1coAsXxoVDHIhhKmChpRQBK5NDjGBMIC7UxJ1xpTHIQmOMUTFRawCRoGChyOQAgtSR4fX43w4E6yk0
|
||||
xjybfH3tf+89w33nHIjIf0UVUwPL4WgbhGd0s76eGqqYCshq7Ufhe0H2J0F+5wZtTyqo4lJgz43rKHgn
|
||||
KBsXlH8W5I0J1jtXaHuXQhUXAxudW3CgJ+rYUPl1Gt6QwDMypu1fClVcDBx6LPDy2iu/CY6RmpnP8H2f
|
||||
RQE1Z88h7cxiqGIysPNyLnKCdP5F4PspOD4jOBsOom5uHF7ehmuY2/SzyVDFZCDz3hQ8fO++H4KqWWIJ
|
||||
mqQbDdKLo1MCB4uy4GWGdjYZqqiB1WlrsL9bUEFHxnl1mNdPLkoHeYZy3oqLxVjUd0c7nwxV1MDua0XI
|
||||
G4i+92pmXkOxljTJG1yQdpSHLJQyAEeA23UbGqqowb6/Cedo9PpN5vEAzskozksPX8EcvB8FmX2CjPqV
|
||||
mg0NVdRgAO3wsNJN9nUUTpITpEHGGMRANIAPgiwW6cHmdZoNDVWMk74Wq7Dr6hXsaw4i+zkHTrspMkHh
|
||||
K9NyfN9vBMXMuLg/HHsKjgSoByZQ1PsAhV17NbsLUUUDtp50YNstZvNEkPOCTlmAzt6oQxezdLEeSoY5
|
||||
gDgRS5m5l91Rxhs6OsHfxM3/uVxzDUzS3DLNh0EX033bseM+s2GmxplnhEbpxIxe4+A3Ik4tVLAIK0Jh
|
||||
wk4xsFvMpCxmYbqDIc2PQRf33uVVv2aGQ3RKA8aYqf7I8JmODiBD1ZyFOiuEBiuIRusl6q0Aaqwpjmcr
|
||||
Oqono0Hn0E5+52HV1x9Cxqk07O7glTNzN6vazPlyVn4le/8Yq9+3gGoeOC3TaJQhXJJOPgOoDX9FGZ2X
|
||||
0LGbwbs4nByD5hV2JfqK+PtDONCyiUXUi5JBP6/Xz8z9qJrxc/D42XaJPGUntOKM3GU3tDCY22zTh7y1
|
||||
p/C+90coHfXD/baNBfko0VfEnybaiSraiSr+C/gxX/MkrsdRRUPsYA1J19ZTIXb+rwOYPxz7nVIgZl9s
|
||||
/8KzXEqyXxPj8JNoLE4koBja+vyemB0+kvjQxEQWGFo0oMRzqaCKdqKKdqKKdqKKdqKKdqKKdqKK9iH4
|
||||
BcKd4KYRgNnpAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="btnRuled.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
@@ -1144,21 +1144,21 @@
|
||||
</data>
|
||||
<data name="btnScrew.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACIAAAAgCAYAAAB3j6rJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAHdElNRQffAR8PODguZyl7AAAC8ElEQVRYR82W20tUURSH
|
||||
f39LlpWVpmVak4+BUZqWlXlJM9RMS83rmIlRr/0B0T0Kgl6CoKKgeuilKB2dvOeYQRYZXbQkLzOrtfeZ
|
||||
4xxkqcdx6PTwsYfv7L32OmsfZm0Q0X+BKJ1AlHbAih3vJR8uorQDVu0cUsnMcmaStTzXDqK0A2JzexGz
|
||||
fwCr0wexMjWUECPNXwxR2gFbKrzYVNKFjUe6EZvTh5isAUTv8oWbkCjtAFetB8mnmMpObC7zIv5oF2Lz
|
||||
erGOqxS924coTiYqdQjuHzxdjmFFlEsBKe42bKvxIKmyI5RQPid0sB9rMgbRNE5o/M5T5fUmogwXpDRy
|
||||
UnXtoaSKunUiDd84mYUrI8pIAFd9O7ZWd6ij0Ym4f7KW5ypEGSnU5qgbDfDoV8nMfW5FlMsFp38T6keZ
|
||||
r5M46//C38gMqj/wI3m+QpThgJYpXX7UfiJUDc/g3JQPF8iDmpEAqoYIBU95mrxWIUq7oGWa9MdY+5lQ
|
||||
6SNU9BCqhyfYjaDm4y+c7Ccc9xKKXvB0OYaJKOcDzX9447FpLvskv6UfZZ2E4lfMS0LJa8KxNoPSN4Yr
|
||||
fEbYc5WXyvGsiNIKbzqO81zi1ikPyrxjKHweQN4jQs59Qu4D0r/zHxMOPzHGvIeE7HuEjOu8XI4pIUoT
|
||||
lHepsvLGHPzAXQ5+jZB+yRgzbxD23iLsu22QeZPf/goh7SIvleMthCgVKOVSqzfMusObX9YbLEiYzc5E
|
||||
lCaqvOKmCdzs4gt7sOFQsNmlGb3FbHjNE7xcjjkforSiN1b/ktsb2vWomp36x0w6oZrdW91b4oK9Ze6V
|
||||
oGmMQ8hx5yLKxYAr2FNUs0uu6pi9EsQV9GB9dighdXly20tGlEvFSEx1YK5SoqoSNzt9ceJjW5v5To3S
|
||||
OiuiXA5w8RGqo0us6ERCcfCOkt2njk+abyLKSKC/KVUlnRAfWytbYZ6JKCOFPjIXf0v8HUnPrYjSCUTp
|
||||
BKJ0AlE6gSidQJROIMp/D+Evtra6YdYlL1UAAAAASUVORK5CYII=
|
||||
iVBORw0KGgoAAAANSUhEUgAAACIAAAAgCAYAAAB3j6rJAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
xAAADsQBlSsOGwAAAAd0SU1FB98BHw84OC5nKXsAAALwSURBVFhHzZbbS1RRFId/f0uWlZWmZVqTj4FR
|
||||
mpaVeUkz1ExLzeuYiVGv/QHRPQqCXoKgoqB66KUoHZ2855hBFhldtCQvM6u195njHGSpx3Ho9PCxh+/s
|
||||
vfY6ax9mbRDRf4EonUCUdsCKHe8lHy6itANW7RxSycxyZpK1PNcOorQDYnN7EbN/AKvTB7EyNZQQI81f
|
||||
DFHaAVsqvNhU0oWNR7oRm9OHmKwBRO/yhZuQKO0AV60HyaeYyk5sLvMi/mgXYvN6sY6rFL3bhyhOJip1
|
||||
CO4fPF2OYUWUSwEp7jZsq/EgqbIjlFA+J3SwH2syBtE0Tmj8zlPl9SaiDBekNHJSde2hpIq6dSIN3ziZ
|
||||
hSsjykgAV307tlZ3qKPRibh/spbnKkQZKdTmqBsN8OhXycx9bkWUywWnfxPqR5mvkzjr/8LfyAyqP/Aj
|
||||
eb5ClOGAlildftR+IlQNz+DclA8XyIOakQCqhggFT3mavFYhSrugZZr0x1j7mVDpI1T0EKqHJ9iNoObj
|
||||
L5zsJxz3Eope8HQ5hoko5wPNf3jjsWku+yS/pR9lnYTiV8xLQslrwrE2g9I3hit8RthzlZfK8ayI0gpv
|
||||
Oo7zXOLWKQ/KvGMofB5A3iNCzn1C7gPSv/MfEw4/Mca8h4Tse4SM67xcjikhShOUd6my8sYc/MBdDn6N
|
||||
kH7JGDNvEPbeIuy7bZB5k9/+CiHtIi+V4y2EKBUo5VKrN8y6w5tf1hssSJjNzkSUJqq84qYJ3OziC3uw
|
||||
4VCw2aUZvcVseM0TvFyOOR+itKI3Vv+S2xva9aianfrHTDqhmt1b3Vvigr1l7pWgaYxDyHHnIsrFgCvY
|
||||
U1SzS67qmL0SxBX0YH12KCF1eXLbS0aUS8VITHVgrlKiqhI3O31x4mNbm/lOjdI6K6JcDnDxEaqjS6zo
|
||||
REJx8I6S3aeOT5pvIspIoL8pVSWdEB9bK1thnokoI4U+Mhd/S/wdSc+tiNIJROkEonQCUTqBKJ1AlE4g
|
||||
yn8P4S+2trph1iUvVQAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="btnExtrude.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
@@ -1233,11 +1233,12 @@
|
||||
<data name="btnBreakCurve.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
xAAADsQBlSsOGwAAAAd0SU1FB94LCwoGNUlPh5wAAADtSURBVFhHxZMNDoIwFMY4mKf1dN5iUiPmObvx
|
||||
N54mTaSQ9CPAVEr5KyozUZmJypHMv9sMf+ZDOW9yFDGePqCOc6zXmTwLsRBuxkGlMd0fZaE+FyEWwtCM
|
||||
g0ojDmiNIBbC0I2DSqMeUI8gFsKwGgeVLVojiIUwbIqDyh424mgcVK7RGbErDiq3YCPqa7agcg3u9HXH
|
||||
A0ao7PGJL5wcobLFT/z9zM+MUGkQC2H4euGOjlBZQyyEQd/2SwYQC2HofmpDBxALYdj9na+hEoiF8CVx
|
||||
cJkUB5dJcXCZFAeVmajMRGUmKjNRmYnKTFTmUaYn/UkKulyAFpwAAAAASUVORK5CYII=
|
||||
xAAADsQBlSsOGwAAAAd0SU1FB98CBwoZH9M0TrgAAAEdSURBVFhHxZOLEcIgEAVTmMWlFquzC7zF4Jzk
|
||||
AfkwJzOr5AHui8YlpfRXZBiJDCOR4UxsPAwmdinWVTgLLw8vUMu5lvtUeBdkTtyUgwwVy/OVCvWaB5kT
|
||||
Q1MOMlT4Aq0SyJwYunKQoaIuUJdA5sQwlIMMW7RKIHNiOCQHGfZQJa7KQYYjOiVOyUGGR1Al6j1HkOEI
|
||||
7jTf8YQSMuzxlRdulpBhi518+83vlJChApkTw88Dd7WEDGuQOTHIp/1oAX9+t1jDZoNJoftXGxXgvLGW
|
||||
z9lt8GybmRS68hGcN9ZtnkvIjZAXJ8rBBlJfYG1tnC4v2PgWyO9+sWCDl8I0Odg4VWCqHGx8vvpegUhk
|
||||
GIkMI5FhJDKMRIaRyDCOtLwBKHXaEPcPyGkAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="btnChangeColor.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
@@ -1439,6 +1440,9 @@
|
||||
<metadata name="FormTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>568, 14</value>
|
||||
</metadata>
|
||||
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 53</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>43</value>
|
||||
</metadata>
|
||||
|
||||
@@ -59,28 +59,12 @@ Public Class Form1
|
||||
' Impostazione path Ini file
|
||||
m_sIniFile = m_sDataRoot & "\TestEIn.ini"
|
||||
' Verifico indice di istanza
|
||||
m_objMutex = New Mutex(False, "Global\TestEIn")
|
||||
If m_objMutex.WaitOne(0, False) Then
|
||||
' Prima istanza
|
||||
m_nInstance = 1
|
||||
' Aggiorno stato istanze attive
|
||||
WritePrivateProfileString("General", "Instances", m_nInstance, m_sIniFile)
|
||||
Else
|
||||
' Cerco il primo indice di istanza libero (max 32)
|
||||
Dim nTmp As Integer = GetPrivateProfileInt("General", "Instances", 0, m_sIniFile)
|
||||
m_nInstance = 1
|
||||
Dim nMask As Integer = 1
|
||||
While (nTmp And nMask) <> 0 And m_nInstance < 32
|
||||
m_nInstance += 1
|
||||
nMask *= 2
|
||||
End While
|
||||
' Aggiorno stato istanze attive
|
||||
nTmp += (1 << (m_nInstance - 1))
|
||||
WritePrivateProfileString("General", "Instances", nTmp, m_sIniFile)
|
||||
End If
|
||||
ManageIstance()
|
||||
' Inizializzazione generale di EgtInterface
|
||||
Dim sIniFile As String = m_sDataRoot & "\EInGenlog" & m_nInstance.ToString() & ".txt"
|
||||
EgtInit(0, sIniFile)
|
||||
Dim sLogMsg As String = "User " & SystemInformation.UserName & "\" & SystemInformation.ComputerName & " (" & GetInstance() & ")" & vbLf &
|
||||
My.Application.Info.Description.ToString() & " ver. " & My.Application.Info.Version.ToString()
|
||||
EgtInit(0, sIniFile, sLogMsg)
|
||||
' imposto chiave di protezione
|
||||
Dim sKey As String = String.Empty
|
||||
GetPrivateProfileString("General", "Key", "", sKey, m_sIniFile)
|
||||
@@ -105,7 +89,7 @@ Public Class Form1
|
||||
' imposto colori sfondo
|
||||
Dim BackTopColor As New Color3d(192, 192, 192)
|
||||
GetPrivateProfileColor("Scene", "BackTop", BackTopColor, m_sIniFile)
|
||||
Dim BackBotColor As New Color3d(192, 192, 192)
|
||||
Dim BackBotColor As New Color3d(BackTopColor)
|
||||
GetPrivateProfileColor("Scene", "BackBottom", BackBotColor, m_sIniFile)
|
||||
Scene1.SetViewBackground(BackTopColor, BackBotColor)
|
||||
' imposto colore di evidenziazione
|
||||
@@ -208,6 +192,65 @@ Public Class Form1
|
||||
End If
|
||||
' Apro progetto vuoto
|
||||
m_Controller.NewProject(True)
|
||||
' Impostazione ToolTips
|
||||
SetToolTips()
|
||||
End Sub
|
||||
|
||||
Private Sub ManageIstance()
|
||||
Dim bCreated As Boolean
|
||||
Try
|
||||
m_objMutex = New Mutex(False, "Global\TestEIn", bCreated)
|
||||
Catch
|
||||
bCreated = False
|
||||
End Try
|
||||
If bCreated Then
|
||||
' Prima istanza
|
||||
m_nInstance = 1
|
||||
' Aggiorno stato istanze attive
|
||||
WritePrivateProfileString("General", "Instances", m_nInstance, m_sIniFile)
|
||||
Else
|
||||
' Leggo il massimo numero di istanze ammesse
|
||||
Dim nMaxInst As Integer = GetPrivateProfileInt("General", "MaxInstances", 1, m_sIniFile)
|
||||
nMaxInst = Max(1, Min(nMaxInst, 32))
|
||||
' Cerco il primo indice di istanza libero (max 32)
|
||||
Dim nTmp As Integer = GetPrivateProfileInt("General", "Instances", 0, m_sIniFile)
|
||||
m_nInstance = 1
|
||||
Dim nMask As Integer = 1
|
||||
While (nTmp And nMask) <> 0 And m_nInstance <= m_nInstance
|
||||
m_nInstance += 1
|
||||
nMask *= 2
|
||||
End While
|
||||
' Se l'indice supera il massimo
|
||||
If m_nInstance > nMaxInst Then
|
||||
' porto in primo piano la prima istanza
|
||||
Dim bFound As Boolean = False
|
||||
' processi del programma a 32 bit
|
||||
Dim localProc As Process() = Process.GetProcessesByName("TestEInR32")
|
||||
For Each p As Process In localProc
|
||||
If p.Id <> Process.GetCurrentProcess().Id Then
|
||||
bFound = True
|
||||
ShowWindow(p.MainWindowHandle, SW.SHOWMAXIMIZED)
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
' se non trovati processi a 32 bit provo a 64 bit
|
||||
If Not bFound Then
|
||||
localProc = Process.GetProcessesByName("TestEInR64")
|
||||
For Each p As Process In localProc
|
||||
If p.Id <> Process.GetCurrentProcess().Id Then
|
||||
bFound = True
|
||||
ShowWindow(p.MainWindowHandle, SW.SHOWMAXIMIZED)
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
' esco dal programma
|
||||
End
|
||||
End If
|
||||
' Aggiorno stato istanze attive
|
||||
nTmp += (1 << (m_nInstance - 1))
|
||||
WritePrivateProfileString("General", "Instances", nTmp, m_sIniFile)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub Form1_Shown(sender As System.Object, e As EventArgs) Handles MyBase.Shown
|
||||
@@ -254,6 +297,10 @@ Public Class Form1
|
||||
EgtExit()
|
||||
' Rilascio mutex
|
||||
m_objMutex.Close()
|
||||
' Aggiorno istanze usate
|
||||
Dim nTmp As Integer = GetPrivateProfileInt("General", "Instances", 0, m_sIniFile)
|
||||
nTmp -= (1 << (m_nInstance - 1))
|
||||
WritePrivateProfileString("General", "Instances", nTmp, m_sIniFile)
|
||||
' Disabilito gestore Idle
|
||||
RemoveHandler Application.Idle, AddressOf Application_Idle
|
||||
End Sub
|
||||
@@ -466,6 +513,44 @@ Public Class Form1
|
||||
btnOffset.Enabled = bSelOk
|
||||
End Sub
|
||||
|
||||
Private Sub SetToolTips()
|
||||
' Draw
|
||||
ToolTip1.SetToolTip(btnPoint, "Point")
|
||||
ToolTip1.SetToolTip(btnLine2P, "Line : 2 points")
|
||||
ToolTip1.SetToolTip(btnLinePDL, "Line : point, direction, length")
|
||||
ToolTip1.SetToolTip(btnCircleCP, "Circle : center, point")
|
||||
ToolTip1.SetToolTip(btnCircleCD, "Circle : center, diameter")
|
||||
ToolTip1.SetToolTip(btnArcCSE, "Arc : center, start, end")
|
||||
ToolTip1.SetToolTip(btnArc3P, "Arc : 3 points")
|
||||
ToolTip1.SetToolTip(btnArcPDP, "Arc : start, direction, end")
|
||||
ToolTip1.SetToolTip(btnRectangle2P, "Rectangle : 2 points")
|
||||
ToolTip1.SetToolTip(btnPolygonSide, "Polygon : side with 2 points")
|
||||
ToolTip1.SetToolTip(btnText, "Text" & vbCrLf & "Advanced Text (Shift)")
|
||||
' Construct
|
||||
ToolTip1.SetToolTip(btnPlane, "Surface : between planar curves")
|
||||
ToolTip1.SetToolTip(btnExtrude, "Surface : curve extrusion")
|
||||
ToolTip1.SetToolTip(btnRevolve, "Surface : curve revolution")
|
||||
ToolTip1.SetToolTip(btnScrew, "Surface : curve screwing")
|
||||
ToolTip1.SetToolTip(btnRuled, "Surface : ruled between 2 curves")
|
||||
' Edit
|
||||
ToolTip1.SetToolTip(btnDelete, "Delete Objects")
|
||||
ToolTip1.SetToolTip(btnChangeLayer, "Change Object Layer to Current")
|
||||
ToolTip1.SetToolTip(btnChangeColor, "Change Color" & vbCrLf & "Remove Color (Shift)")
|
||||
ToolTip1.SetToolTip(btnInvertCurve, "Invert Curve")
|
||||
ToolTip1.SetToolTip(btnExtendCurve, "Trim or Extend Curve")
|
||||
ToolTip1.SetToolTip(btnBreakCurve, "Break Curve" & vbCrLf & "Split Curve in Pieces (Shift)")
|
||||
ToolTip1.SetToolTip(btnJoinCurve, "Join Curves")
|
||||
ToolTip1.SetToolTip(btnExplodeCurve, "Explode Text or Curve in Components")
|
||||
ToolTip1.SetToolTip(btnSetCurveTh, "Set Curve Thickness and Extrusion")
|
||||
ToolTip1.SetToolTip(btnInvertSurf, "Flip Surface Outside")
|
||||
' Transform
|
||||
ToolTip1.SetToolTip(btnMove, "Object Move")
|
||||
ToolTip1.SetToolTip(btnRotate, "Object Rotate" & vbCrLf & "3D Object Rotate (Shift)")
|
||||
ToolTip1.SetToolTip(btnMirror, "Object Mirror" & vbCrLf & "3D Object Mirror (Shift)")
|
||||
ToolTip1.SetToolTip(btnScale, "Object Scale" & vbCrLf & "3D Object Scale (Shift)")
|
||||
ToolTip1.SetToolTip(btnOffset, "Curve Offset")
|
||||
End Sub
|
||||
|
||||
|
||||
'-------------------------------- Buttons --------------------------------------------------------
|
||||
Private Sub btnNew_Click(sender As System.Object, e As System.EventArgs) Handles btnNew.Click
|
||||
@@ -493,14 +578,20 @@ Public Class Form1
|
||||
Dim sFile As String = String.Empty
|
||||
GetPrivateProfileString("General", "LastNgeDir", "", sFile, m_sIniFile)
|
||||
sFile.TrimEnd("\"c)
|
||||
sFile += "\New.nge"
|
||||
sFile += "\New" & m_nInstance.ToString() & ".nge"
|
||||
m_Controller.SaveAsProject(sFile, nType)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub btnSaveAs_Click(sender As System.Object, e As System.EventArgs) Handles btnSaveAs.Click
|
||||
Dim nType As NGE = GetPrivateProfileInt("GeomDB", "SaveType", NGE.CMPTEXT, m_sIniFile)
|
||||
m_Controller.SaveAsProject(m_Controller.GetCurrFile(), nType)
|
||||
Dim sFile As String = m_Controller.GetCurrFile()
|
||||
If String.IsNullOrWhiteSpace(sFile) Then
|
||||
GetPrivateProfileString("General", "LastNgeDir", "", sFile, m_sIniFile)
|
||||
sFile.TrimEnd("\"c)
|
||||
sFile += "\New" & m_nInstance.ToString() & ".nge"
|
||||
End If
|
||||
m_Controller.SaveAsProject(sFile, nType)
|
||||
End Sub
|
||||
|
||||
Private Sub btnImport_Click(sender As System.Object, e As System.EventArgs) Handles btnImport.Click
|
||||
@@ -762,7 +853,11 @@ Public Class Form1
|
||||
End Sub
|
||||
|
||||
Private Sub btnBreakCurve_Click(sender As System.Object, e As System.EventArgs) Handles btnBreakCurve.Click
|
||||
m_Controller.ExecuteCommand(CMD.BREAKCURVE)
|
||||
If (ModifierKeys And Keys.Shift) <> Keys.Shift Then
|
||||
m_Controller.ExecuteCommand(CMD.BREAKCURVE)
|
||||
Else
|
||||
m_Controller.ExecuteCommand(CMD.SPLITCURVE)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub btnJoinCurve_Click(sender As System.Object, e As System.EventArgs) Handles btnJoinCurve.Click
|
||||
@@ -1279,7 +1374,7 @@ Public Class Form1
|
||||
' nome file
|
||||
Dim sTitle As String = m_Controller.GetCurrFile()
|
||||
If String.IsNullOrEmpty(sTitle) Then
|
||||
sTitle = "New"
|
||||
sTitle = "New" & m_nInstance.ToString()
|
||||
End If
|
||||
' indicazione di modificato
|
||||
If m_Controller.GetModified() Then
|
||||
|
||||
@@ -145,4 +145,15 @@ Public Const MF_SEPARATOR As UInt32 = &H800
|
||||
Public Const WM_SYSCOMMAND As UInt32 = &H112
|
||||
Public Const IDM_ABOUTBOX As UInt32 = &H10
|
||||
|
||||
'-------------------------------- Windows --------------------------------------------------------
|
||||
<DllImport("user32.dll")>
|
||||
Public Function ShowWindow(ByVal hWnd As IntPtr, ByVal nCmdShow As Integer) As Boolean
|
||||
End Function
|
||||
Public Enum SW As Integer
|
||||
HIDE = 0
|
||||
SHOWMAXIMIZED = 3
|
||||
RESTORE = 9
|
||||
End Enum
|
||||
|
||||
|
||||
End Module
|
||||
|
||||
@@ -11,17 +11,20 @@ Imports System.Runtime.InteropServices
|
||||
#If PLATFORM = "x64" Then
|
||||
#If DEBUG Then
|
||||
<Assembly: AssemblyTitle("TestEIn Debug 64 bit")>
|
||||
<Assembly: AssemblyDescription("TestEInD64.exe")>
|
||||
#Else
|
||||
<Assembly: AssemblyTitle("TestEIn Release 64 bit")>
|
||||
<Assembly: AssemblyDescription("TestEInR64.exe")>
|
||||
#End If
|
||||
#Else
|
||||
#If DEBUG Then
|
||||
<Assembly: AssemblyTitle("TestEIn Debug 32 bit")>
|
||||
<Assembly: AssemblyDescription("TestEInD32.exe")>
|
||||
#Else
|
||||
<Assembly: AssemblyTitle("TestEIn Release 32 bit")>
|
||||
<Assembly: AssemblyDescription("TestEInR32.exe")>
|
||||
#End If
|
||||
#End If
|
||||
<Assembly: AssemblyDescription("")>
|
||||
<Assembly: AssemblyCompany("EgalTech s.r.l.")>
|
||||
<Assembly: AssemblyProduct("TestEIn")>
|
||||
<Assembly: AssemblyCopyright("Copyright © 2014-2015 by EgalTech s.r.l.")>
|
||||
@@ -43,5 +46,5 @@ Imports System.Runtime.InteropServices
|
||||
' utilizzando l'asterisco (*) come descritto di seguito:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("1.6.2.1")>
|
||||
<Assembly: AssemblyFileVersion("1.6.2.1")>
|
||||
<Assembly: AssemblyVersion("1.6.2.2")>
|
||||
<Assembly: AssemblyFileVersion("1.6.2.2")>
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 334 B After Width: | Height: | Size: 358 B |
+4
-2
@@ -1,6 +1,8 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2013
|
||||
VisualStudioVersion = 12.0.31101.0
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "TestEIn", "TestEIn.vbproj", "{579B15B3-63F6-4805-B293-7B8FB6CCD17C}"
|
||||
EndProject
|
||||
Global
|
||||
|
||||
Reference in New Issue
Block a user