From b96aa8aa384daf2079bcd9b053d4fe6f51293021 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Mon, 20 Jul 2015 13:10:11 +0000 Subject: [PATCH] TestEIn 1.6g5 : - modifiche creazioni curve - aggiunta in speciali gestione importazione pezzi piani. --- Component.Designer.vb | 5 +- Component.vb | 1 + ConstIni.vb | 8 +- Controller.vb | 189 ++++++++++++----------- EgtInterface.vb | 298 ++++++++++++++++++++++--------------- FlatParts.Designer.vb | 180 ++++++++++++++++++++++ FlatParts.resx | 226 ++++++++++++++++++++++++++++ FlatParts.vb | 185 +++++++++++++++++++++++ Form1.Designer.vb | 89 ++++++----- Form1.resx | 14 +- Form1.vb | 24 ++- My Project/AssemblyInfo.vb | 4 +- Resources/FlDir.png | Bin 0 -> 1292 bytes Resources/FlFile.png | Bin 0 -> 465 bytes Resources/FlHD.png | Bin 0 -> 1096 bytes Resources/FlUp.png | Bin 0 -> 275 bytes Resources/FlatParts.png | Bin 0 -> 258 bytes TestEIn.vbproj | 20 +++ 18 files changed, 980 insertions(+), 263 deletions(-) create mode 100644 FlatParts.Designer.vb create mode 100644 FlatParts.resx create mode 100644 FlatParts.vb create mode 100644 Resources/FlDir.png create mode 100644 Resources/FlFile.png create mode 100644 Resources/FlHD.png create mode 100644 Resources/FlUp.png create mode 100644 Resources/FlatParts.png diff --git a/Component.Designer.vb b/Component.Designer.vb index 4b7fe53..4be5903 100644 --- a/Component.Designer.vb +++ b/Component.Designer.vb @@ -90,12 +90,12 @@ Partial Class Component Me.ListBox1.Dock = System.Windows.Forms.DockStyle.Fill Me.ListBox1.Font = New System.Drawing.Font("Microsoft Sans Serif", 20.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.ListBox1.FormattingEnabled = True + Me.ListBox1.IntegralHeight = False Me.ListBox1.ItemHeight = 31 Me.ListBox1.Location = New System.Drawing.Point(3, 3) - Me.ListBox1.Margin = New System.Windows.Forms.Padding(3, 3, 3, 0) Me.ListBox1.Name = "ListBox1" Me.TableLayoutPanel1.SetRowSpan(Me.ListBox1, 2) - Me.ListBox1.Size = New System.Drawing.Size(194, 411) + Me.ListBox1.Size = New System.Drawing.Size(194, 408) Me.ListBox1.TabIndex = 4 ' 'TableLayoutPanel2 @@ -424,6 +424,7 @@ Partial Class Component Me.KeyPreview = True Me.MaximizeBox = False Me.MinimizeBox = False + Me.MinimumSize = New System.Drawing.Size(760, 453) Me.Name = "Component" Me.ShowIcon = False Me.ShowInTaskbar = False diff --git a/Component.vb b/Component.vb index 0a46099..58c48a4 100644 --- a/Component.vb +++ b/Component.vb @@ -13,6 +13,7 @@ Imports System.Globalization Imports TestEIn.EgtInterface +Imports TestEIn.Scene Public Class Component ' Constants diff --git a/ConstIni.vb b/ConstIni.vb index 7a6d82c..958e50e 100644 --- a/ConstIni.vb +++ b/ConstIni.vb @@ -67,13 +67,17 @@ Public Const K_EXTSSTEP As String = "ExtSStep" Public Const K_MINLNCOLOR As String = "MinLnColor" Public Const K_MAJLNCOLOR As String = "MajLnColor" -Public Const S_TABTEST As String = "TabTest" -Public Const K_SHOWTT As String = "Show" +Public Const S_TABSPECIAL As String = "TabSpecial" +Public Const K_TSSHOW As String = "Show" Public Const S_COMPO As String = "Compo" Public Const K_CMPWINPLACE As String = "WinPlace" Public Const K_COMPODIR As String = "CompoDir" +Public Const S_FLATPARTS As String = "FlatParts" +Public Const K_FLPWINPLACE As String = "WinPlace" +Public Const K_FLPCURRDIR As String = "CurrDir" + Public Const S_MACH As String = "Mach" Public Const K_MACHINESDIR As String = "MachinesDir" diff --git a/Controller.vb b/Controller.vb index d2babfa..1f9e583 100644 --- a/Controller.vb +++ b/Controller.vb @@ -200,11 +200,18 @@ Public Class Controller Dim nIdNewPart As Integer = EgtCreateGroup(GDB_ID.ROOT) ' inserisco un nuovo gruppo (layer) sotto quello appena creato Dim nIdNewLayer As Integer = EgtCreateGroup(nIdNewPart) + ' se ok, aggiorno pezzo e layer correnti + If nIdNewPart <> GDB_ID.NULL And nIdNewLayer <> GDB_ID.NULL Then + EgtSetCurrPartLayer(nIdNewPart, nIdNewLayer) + Else + EgtResetCurrPartLayer() + End If ' reset flag di modificato EgtResetModified() + Else + ' aggiorno pezzo e layer correnti + EgtResetCurrPartLayer() End If - ' aggiorno pezzo e layer correnti - EgtResetCurrPartLayer() DisableCommandLog() ' aggiorno EgtZoom(ZM.ALL) @@ -2327,12 +2334,11 @@ Public Class Controller m_Scene.ResetStatus(False) ' creo la linea (i punti sono in globale) EnableCommandLog() - Dim nId As Integer = EgtCreateCurveLinePVL(GetCurrLayer(), m_ptP1.Loc(GDB_ID.GRID), - m_vtLast.Loc(GDB_ID.GRID), m_dLast, GDB_RT.GRID) + Dim nId As Integer = EgtCreateCurveLinePDL(GetCurrLayer(), m_ptP1.Loc(GDB_ID.GRID), + m_dPrev, m_dLast, GDB_RT.GRID) DisableCommandLog() If nId <> GDB_ID.NULL Then m_vtCont = m_vtLast - m_vtCont.Normalize() m_ptCont = m_ptP1 + m_vtCont * m_dLast End If EgtDraw() @@ -2348,16 +2354,14 @@ Public Class Controller Private Sub DragLinePDL() If m_nStep = 2 Then ' inserimento direzione - ' determino il versore direzione iniziale - Dim m_vtLast = GlobDirFromGridAng(m_dLast) ' durante la creazione di oggetti il gruppo di Drag ha riferimento globale Dim nId As Integer = EgtGetFirstInGroup(m_Scene.GetDragGroup()) If nId = GDB_ID.NULL Then ' creo la linea di direzione - EgtCreateCurveLinePVL(m_Scene.GetDragGroup(), m_ptP1, m_vtLast, m_dAux, GDB_RT.GLOB) + EgtCreateCurveLinePDL(m_Scene.GetDragGroup(), m_ptP1.Loc(GDB_ID.GRID), m_dLast, m_dAux, GDB_RT.GRID) Else - Dim ptP2 As Point3d = m_ptP1 + m_vtLast * m_dAux - EgtModifyCurveEndPoint(nId, ptP2, GDB_RT.GLOB) + Dim ptP2 As Point3d = m_ptP1.Loc(GDB_ID.GRID) + Vector3d.FromPolar(1, m_dLast) * m_dAux + EgtModifyCurveEndPoint(nId, ptP2, GDB_RT.GRID) End If EgtDraw() ElseIf m_nStep = 3 Then ' inserimento lunghezza @@ -2365,10 +2369,10 @@ Public Class Controller Dim nId As Integer = EgtGetFirstInGroup(m_Scene.GetDragGroup()) If nId = GDB_ID.NULL Then ' creo la linea di direzione - EgtCreateCurveLinePVL(m_Scene.GetDragGroup(), m_ptP1, m_vtLast, m_dLast, GDB_RT.GLOB) + EgtCreateCurveLinePDL(m_Scene.GetDragGroup(), m_ptP1.Loc(GDB_ID.GRID), m_dPrev, m_dLast, GDB_RT.GRID) Else - Dim ptP2 As Point3d = m_ptP1 + m_vtLast * m_dLast - EgtModifyCurveEndPoint(nId, ptP2) + Dim ptP2 As Point3d = m_ptP1.Loc(GDB_ID.GRID) + Vector3d.FromPolar(1, m_dPrev) * m_dLast + EgtModifyCurveEndPoint(nId, ptP2, GDB_RT.GRID) End If EgtDraw() End If @@ -2490,8 +2494,8 @@ Public Class Controller m_Scene.ResetStatus(False) ' creo la circonferenza (i punti sono in globale) EnableCommandLog() - Dim nId As Integer = EgtCreateCurveCircleCPNEx(GetCurrLayer(), m_ptP1.Loc(GDB_ID.GRID), - m_ptLast.Loc(GDB_ID.GRID), m_sepLast, m_nIdLast, Vector3d.Z_AX, GDB_RT.GRID) + Dim nId As Integer = EgtCreateCurveCircleCPEx(GetCurrLayer(), m_ptP1.Loc(GDB_ID.GRID), + m_ptLast.Loc(GDB_ID.GRID), m_sepLast, m_nIdLast, GDB_RT.GRID) DisableCommandLog() EgtDraw() ' aggiorno stato @@ -2509,9 +2513,10 @@ Public Class Controller ' durante la creazione di oggetti il gruppo di Drag ha riferimento globale Dim nId As Integer = EgtGetFirstInGroup(m_Scene.GetDragGroup()) If nId = GDB_ID.NULL Then - EgtCreateCurveCircleCPN(m_Scene.GetDragGroup(), m_ptP1, m_ptLast, EgtGetGridVersZ(), GDB_RT.GLOB) + EgtCreateCurveCircleCP(m_Scene.GetDragGroup(), m_ptP1.Loc(GDB_ID.GRID), + m_ptLast.Loc(GDB_ID.GRID), GDB_RT.GRID) Else - EgtModifyCurveCircleCPN(nId, m_ptLast, GDB_RT.GLOB) + EgtModifyCurveCircleCPN(nId, m_ptLast.Loc(GDB_ID.GRID), GDB_RT.GRID) End If EgtDraw() End If @@ -2548,7 +2553,7 @@ Public Class Controller ' creo la circonferenza (i punti sono in globale) EnableCommandLog() Dim nId As Integer = EgtCreateCurveCircle(GetCurrLayer(), m_ptP1.Loc(GDB_ID.GRID), - Vector3d.Z_AX, 0.5 * m_dLast, GDB_RT.GRID) + 0.5 * m_dLast, GDB_RT.GRID) DisableCommandLog() EgtDraw() ' aggiorno stato @@ -2566,7 +2571,7 @@ Public Class Controller ' durante la creazione di oggetti il gruppo di Drag ha riferimento globale Dim nId As Integer = EgtGetFirstInGroup(m_Scene.GetDragGroup()) If nId = GDB_ID.NULL Then - EgtCreateCurveCircle(m_Scene.GetDragGroup(), m_ptP1, EgtGetGridVersZ(), 0.5 * m_dLast, GDB_RT.GLOB) + EgtCreateCurveCircle(m_Scene.GetDragGroup(), m_ptP1.Loc(GDB_ID.GRID), 0.5 * m_dLast, GDB_RT.GRID) Else EgtModifyCurveArcRadius(nId, 0.5 * m_dLast) End If @@ -2608,9 +2613,9 @@ Public Class Controller m_Scene.ResetStatus(False) ' creo l'arco (i punti sono in globale) EnableCommandLog() - Dim nId = EgtCreateCurveArcC2PNEx(GetCurrLayer(), m_ptP1.Loc(GDB_ID.GRID), - m_ptP2.Loc(GDB_ID.GRID), m_sepP2, m_nIdP2, - m_ptLast.Loc(GDB_ID.GRID), Vector3d.Z_AX, GDB_RT.GRID) + Dim nId = EgtCreateCurveArcC2PEx(GetCurrLayer(), m_ptP1.Loc(GDB_ID.GRID), + m_ptP2.Loc(GDB_ID.GRID), m_sepP2, m_nIdP2, + m_ptLast.Loc(GDB_ID.GRID), GDB_RT.GRID) DisableCommandLog() If nId <> GDB_ID.NULL Then Dim PtP As Point3d @@ -2644,9 +2649,11 @@ Public Class Controller nId = GDB_ID.NULL End If If nId = GDB_ID.NULL Then - EgtCreateCurveArcC2PNEx(m_Scene.GetDragGroup(), m_ptP1, m_ptP2, m_sepP2, m_nIdP2, m_ptLast, EgtGetGridVersZ(), GDB_RT.GLOB) + EgtCreateCurveArcC2PEx(m_Scene.GetDragGroup(), m_ptP1.Loc(GDB_ID.GRID), + m_ptP2.Loc(GDB_ID.GRID), m_sepP2, m_nIdP2, + m_ptLast.Loc(GDB_ID.GRID), GDB_RT.GRID) Else - EgtModifyCurveArcC2PN(nId, m_ptLast, GDB_RT.GLOB) + EgtModifyCurveArcC2PN(nId, m_ptLast.Loc(GDB_ID.GRID), GDB_RT.GRID) End If EgtDraw() End If @@ -2772,12 +2779,10 @@ Public Class Controller Case 3 ' reset scena m_Scene.ResetStatus(False) - ' determino il versore direzione iniziale - m_vtLast = GlobDirFromGridAng(m_dLast) ' creo l'arco (i punti sono in globale) EnableCommandLog() - Dim nId = EgtCreateCurveArc2PVNEx(GetCurrLayer(), m_ptP1.Loc(GDB_ID.GRID), m_ptLast.Loc(GDB_ID.GRID), - m_sepLast, m_nIdLast, m_vtLast.Loc(GDB_ID.GRID), Vector3d.Z_AX, GDB_RT.GRID) + Dim nId = EgtCreateCurveArc2PDEx(GetCurrLayer(), m_ptP1.Loc(GDB_ID.GRID), m_ptLast.Loc(GDB_ID.GRID), + m_sepLast, m_nIdLast, m_dLast, GDB_RT.GRID) DisableCommandLog() If nId <> GDB_ID.NULL Then m_ptCont = m_ptLast @@ -2803,16 +2808,15 @@ Public Class Controller Private Sub DragArcPDP() If m_nStep = 2 Then - ' determino il versore direzione iniziale - Dim vtDirS = GlobDirFromGridAng(m_dLast) ' durante la creazione di oggetti il gruppo di Drag ha riferimento globale Dim nId As Integer = EgtGetFirstInGroup(m_Scene.GetDragGroup()) If nId = GDB_ID.NULL Then ' creo la linea di direzione - EgtCreateCurveLinePVL(m_Scene.GetDragGroup(), m_ptP1, vtDirS, m_dAux, GDB_RT.GLOB) + EgtCreateCurveLinePDL(m_Scene.GetDragGroup(), m_ptP1.Loc(GDB_ID.GRID), + m_dLast, m_dAux, GDB_RT.GRID) Else - Dim ptP2 As Point3d = m_ptP1 + vtDirS * m_dAux - EgtModifyCurveEndPoint(nId, ptP2, GDB_RT.GLOB) + Dim ptP2 As Point3d = m_ptP1 + GlobDirFromGridAng(m_dLast) * m_dAux + EgtModifyCurveEndPoint(nId, ptP2.Loc(GDB_ID.GRID), GDB_RT.GRID) End If EgtDraw() ElseIf m_nStep = 3 Then @@ -2822,19 +2826,21 @@ Public Class Controller EgtErase(nId) nId = GDB_ID.NULL End If - ' determino il versore direzione iniziale - Dim vtDirS As Vector3d = GlobDirFromGridAng(m_dLast) ' se arco da creare If nId = GDB_ID.NULL Then ' creo l'arco (i punti sono in globale), in alcuni casi particolari crea una retta - EgtCreateCurveArc2PVN(m_Scene.GetDragGroup(), m_ptP1, m_ptLast, vtDirS, EgtGetGridVersZ(), GDB_RT.GLOB) + EgtCreateCurveArc2PD(m_Scene.GetDragGroup(), m_ptP1.Loc(GDB_ID.GRID), + m_ptLast.Loc(GDB_ID.GRID), m_dLast, GDB_RT.GRID) ' altrimenti da modificare Else + ' determino il versore direzione iniziale + Dim vtDirS As Vector3d = GlobDirFromGridAng(m_dLast) ' se modifica arco impossibile, provo con una retta - If (Not EgtModifyCurveEndPoint(nId, m_ptLast) AndAlso + If (Not EgtModifyCurveEndPoint(nId, m_ptLast.Loc(GDB_ID.GRID), GDB_RT.GRID) AndAlso (m_ptLast - m_ptP1) * vtDirS > EPS_ZERO) Then EgtErase(nId) - EgtCreateCurveLine(m_Scene.GetDragGroup(), m_ptP1, m_ptLast, GDB_RT.GLOB) + EgtCreateCurveLine(m_Scene.GetDragGroup(), m_ptP1.Loc(GDB_ID.GRID), + m_ptLast.Loc(GDB_ID.GRID), GDB_RT.GRID) End If End If EgtDraw() @@ -2894,19 +2900,10 @@ Public Class Controller Case 3 ' reset scena m_Scene.ResetStatus(False) - ' versore normale al piano dell'arco - Dim vtNorm As Vector3d = m_vtLast ^ (m_ptLast - m_ptP1) - If vtNorm.Normalize() Then - If (vtNorm * EgtGetGridVersZ()) < 0 Then - vtNorm *= -1 - End If - Else - vtNorm = EgtGetGridVersZ() - End If ' creo l'arco (i punti sono in globale) EnableCommandLog() - Dim nId = EgtCreateCurveArc2PVN(GetCurrLayer(), m_ptP1.Loc(GDB_ID.GRID), m_ptLast.Loc(GDB_ID.GRID), - m_vtLast.Loc(GDB_ID.GRID), vtNorm.Loc(GDB_ID.GRID), GDB_RT.GRID) + Dim nId = EgtCreateCurveArc2PV(GetCurrLayer(), m_ptP1.Loc(GDB_ID.GRID), m_ptLast.Loc(GDB_ID.GRID), + m_vtLast.Loc(GDB_ID.GRID), GDB_RT.GRID) DisableCommandLog() If nId <> GDB_ID.NULL Then m_ptCont = m_ptLast @@ -2931,28 +2928,20 @@ Public Class Controller Dim nId As Integer = EgtGetFirstInGroup(m_Scene.GetDragGroup()) If nId = GDB_ID.NULL Then ' creo la linea di direzione - EgtCreateCurveLinePVL(m_Scene.GetDragGroup(), m_ptP1, m_vtLast, m_dAux, GDB_RT.GLOB) + EgtCreateCurveLinePVL(m_Scene.GetDragGroup(), m_ptP1.Loc(GDB_ID.GRID), + m_vtLast.Loc(GDB_ID.GRID), m_dAux, GDB_RT.GRID) Else m_vtLast.Normalize() Dim ptP2 As Point3d = m_ptP1 + m_vtLast * m_dAux - EgtModifyCurveEndPoint(nId, ptP2, GDB_RT.GLOB) + EgtModifyCurveEndPoint(nId, ptP2.Loc(GDB_ID.GRID), GDB_RT.GRID) End If EgtDraw() ElseIf m_nStep = 3 Then ' svuoto il gruppo di drag EgtEmptyGroup(m_Scene.GetDragGroup()) - ' durante la creazione di oggetti il gruppo di Drag ha riferimento globale - ' arco sempre da ricreare (può cambiare la normale al suo piano) - Dim vtNorm As Vector3d = m_vtLast ^ (m_ptLast - m_ptP1) - If vtNorm.Normalize() Then - If (vtNorm * EgtGetGridVersZ()) < 0 Then - vtNorm *= -1 - End If - Else - vtNorm = EgtGetGridVersZ() - End If ' creo l'arco (i punti sono in globale), in alcuni casi particolari crea una retta - EgtCreateCurveArc2PVN(m_Scene.GetDragGroup(), m_ptP1, m_ptLast, m_vtLast, vtNorm, GDB_RT.GLOB) + EgtCreateCurveArc2PV(m_Scene.GetDragGroup(), m_ptP1.Loc(GDB_ID.GRID), + m_ptLast.Loc(GDB_ID.GRID), m_vtLast.Loc(GDB_ID.GRID), GDB_RT.GRID) EgtDraw() End If End Sub @@ -2980,7 +2969,7 @@ Public Class Controller EnableCommandLog() EgtCreateCurveFillet(GetCurrLayer(), nId1, m_ptPrevSel.Loc(GDB_ID.GRID), nId2, m_ptLastSel.Loc(GDB_ID.GRID), - Vector3d.Z_AX, m_dLast, m_bLast, GDB_RT.GRID) + m_dLast, m_bLast, GDB_RT.GRID) DisableCommandLog() EgtDraw() ' aggiorno stato @@ -3003,8 +2992,8 @@ Public Class Controller Dim nId1 As Integer = m_Scene.AddToDragGroup(EgtGetPrevSelectedObj()) ' creo fillet (il gruppo di Drag ha riferimento globale) EgtCreateCurveFillet(m_Scene.GetDragGroup(), - nId1, m_ptPrevSel, nId2, m_ptLastSel, - EgtGetGridVersZ(), m_dLast, m_bLast, GDB_RT.GLOB) + nId1, m_ptPrevSel.Loc(GDB_ID.GRID), nId2, m_ptLastSel.Loc(GDB_ID.GRID), + m_dLast, m_bLast, GDB_RT.GRID) EgtDraw() End If End Sub @@ -3032,7 +3021,7 @@ Public Class Controller EnableCommandLog() EgtCreateCurveChamfer(GetCurrLayer(), nId1, m_ptPrevSel.Loc(GDB_ID.GRID), nId2, m_ptLastSel.Loc(GDB_ID.GRID), - Vector3d.Z_AX, m_dLast, m_bLast, GDB_RT.GRID) + m_dLast, m_bLast, GDB_RT.GRID) DisableCommandLog() EgtDraw() ' aggiorno stato @@ -3055,8 +3044,8 @@ Public Class Controller Dim nId1 As Integer = m_Scene.AddToDragGroup(EgtGetPrevSelectedObj()) ' creo chamfer (il gruppo di Drag ha riferimento globale) EgtCreateCurveChamfer(m_Scene.GetDragGroup(), - nId1, m_ptPrevSel, nId2, m_ptLastSel, - EgtGetGridVersZ(), m_dLast, m_bLast, GDB_RT.GLOB) + nId1, m_ptPrevSel.Loc(GDB_ID.GRID), nId2, m_ptLastSel.Loc(GDB_ID.GRID), + m_dLast, m_bLast, GDB_RT.GRID) EgtDraw() End If End Sub @@ -3085,11 +3074,9 @@ Public Class Controller ' reset scena m_Scene.ResetStatus(False) ' creo il rettangolo (i punti sono in globale) - Dim vtGridX As Vector3d = EgtGetGridVersX() - Dim ptDir As Point3d = m_ptP1 + ((m_ptLast - m_ptP1) * vtGridX * vtGridX) EnableCommandLog() - Dim nId As Integer = EgtCreateRectangle3P(GetCurrLayer(), m_ptP1.Loc(GDB_ID.GRID), - m_ptLast.Loc(GDB_ID.GRID), ptDir.Loc(GDB_ID.GRID), GDB_RT.GRID) + Dim nId As Integer = EgtCreateRectangle2P(GetCurrLayer(), m_ptP1.Loc(GDB_ID.GRID), + m_ptLast.Loc(GDB_ID.GRID), GDB_RT.GRID) DisableCommandLog() EgtDraw() ' aggiorno stato @@ -3109,9 +3096,8 @@ Public Class Controller Dim nId As Integer = EgtGetFirstInGroup(m_Scene.GetDragGroup()) EgtErase(nId) ' creo il rettangolo (drag è in globale) - Dim vtGridX As Vector3d = EgtGetGridVersX() - Dim ptDir As Point3d = m_ptP1 + ((m_ptLast - m_ptP1) * vtGridX * vtGridX) - EgtCreateRectangle3P(m_Scene.GetDragGroup(), m_ptP1, m_ptLast, ptDir, GDB_RT.GLOB) + EgtCreateRectangle2P(m_Scene.GetDragGroup(), m_ptP1.Loc(GDB_ID.GRID), + m_ptLast.Loc(GDB_ID.GRID), GDB_RT.GRID) EgtDraw() End If End Sub @@ -3152,10 +3138,10 @@ Public Class Controller Dim nId As Integer = GDB_ID.NULL If Not m_bLast Then nId = EgtCreatePolygonFromRadius(GetCurrLayer(), m_nLast, m_ptP1.Loc(GDB_ID.GRID), - m_ptLast.Loc(GDB_ID.GRID), Vector3d.Z_AX, GDB_RT.GRID) + m_ptLast.Loc(GDB_ID.GRID), GDB_RT.GRID) Else nId = EgtCreatePolygonFromApothem(GetCurrLayer(), m_nLast, m_ptP1.Loc(GDB_ID.GRID), - m_ptLast.Loc(GDB_ID.GRID), Vector3d.Z_AX, GDB_RT.GRID) + m_ptLast.Loc(GDB_ID.GRID), GDB_RT.GRID) End If DisableCommandLog() EgtDraw() @@ -3178,11 +3164,11 @@ Public Class Controller EgtErase(nId) ' creo il poligono (drag è in globale) If Not m_bLast Then - EgtCreatePolygonFromRadius(m_Scene.GetDragGroup(), m_nLast, m_ptP1, m_ptLast, - Vector3d.Z_AX().Glob(GDB_ID.GRID), GDB_RT.GLOB) + EgtCreatePolygonFromRadius(m_Scene.GetDragGroup(), m_nLast, m_ptP1.Loc(GDB_ID.GRID), + m_ptLast.Loc(GDB_ID.GRID), GDB_RT.GRID) Else - EgtCreatePolygonFromApothem(m_Scene.GetDragGroup(), m_nLast, m_ptP1, m_ptLast, - Vector3d.Z_AX().Glob(GDB_ID.GRID), GDB_RT.GLOB) + EgtCreatePolygonFromApothem(m_Scene.GetDragGroup(), m_nLast, m_ptP1.Loc(GDB_ID.GRID), + m_ptLast.Loc(GDB_ID.GRID), GDB_RT.GRID) End If EgtDraw() End If @@ -3221,7 +3207,7 @@ Public Class Controller ' creo il poligono (i punti sono in globale) EnableCommandLog() Dim nId As Integer = EgtCreatePolygonFromSide(GetCurrLayer(), m_nLast, m_ptP1.Loc(GDB_ID.GRID), - m_ptLast.Loc(GDB_ID.GRID), Vector3d.Z_AX, GDB_RT.GRID) + m_ptLast.Loc(GDB_ID.GRID), GDB_RT.GRID) DisableCommandLog() EgtDraw() ' aggiorno stato @@ -3241,7 +3227,8 @@ Public Class Controller Dim nId As Integer = EgtGetFirstInGroup(m_Scene.GetDragGroup()) EgtErase(nId) ' creo il poligono (drag è in globale) - EgtCreatePolygonFromSide(m_Scene.GetDragGroup(), m_nLast, m_ptP1, m_ptLast, Vector3d.Z_AX().Glob(GDB_ID.GRID), GDB_RT.GLOB) + EgtCreatePolygonFromSide(m_Scene.GetDragGroup(), m_nLast, m_ptP1.Loc(GDB_ID.GRID), + m_ptLast.Loc(GDB_ID.GRID), GDB_RT.GRID) EgtDraw() End If End Sub @@ -3278,9 +3265,8 @@ Public Class Controller m_Scene.ResetStatus(False) ' creo l'entità testo (i punti sono in globale) EnableCommandLog() - Dim nId As Integer = EgtCreateTextEx(GetCurrLayer(), m_ptP1.Loc(GDB_ID.GRID), - Vector3d.Z_AX, Vector3d.X_AX, - m_sLast, "", False, m_dLast, GDB_RT.GRID) + Dim nId As Integer = EgtCreateText(GetCurrLayer(), m_ptP1.Loc(GDB_ID.GRID), + m_sLast, m_dLast, GDB_RT.GRID) DisableCommandLog() EgtDraw() ' aggiorno stato @@ -3300,16 +3286,16 @@ Public Class Controller Dim nId As Integer = EgtGetFirstInGroup(m_Scene.GetDragGroup()) EgtErase(nId) ' creo il testo (drag è in globale) - EgtCreateTextEx(m_Scene.GetDragGroup(), m_ptP1, EgtGetGridVersZ(), EgtGetGridVersX(), - m_sLast, "", False, 10, GDB_RT.GLOB) + EgtCreateText(m_Scene.GetDragGroup(), m_ptP1.Loc(GDB_ID.GRID), + m_sLast, 10, GDB_RT.GRID) EgtDraw() ElseIf m_nStep = 3 Then ' recupero possibile entità già nel gruppo di drag Dim nId As Integer = EgtGetFirstInGroup(m_Scene.GetDragGroup()) EgtErase(nId) ' creo il testo (drag è in globale) - EgtCreateTextEx(m_Scene.GetDragGroup(), m_ptP1, EgtGetGridVersZ(), EgtGetGridVersX(), - m_sLast, "", False, m_dLast, GDB_RT.GLOB) + EgtCreateText(m_Scene.GetDragGroup(), m_ptP1.Loc(GDB_ID.GRID), + m_sLast, m_dLast, GDB_RT.GRID) EgtDraw() End If End Sub @@ -3369,10 +3355,13 @@ Public Class Controller If m_nLast >= 0 And m_nLast < m_sFonts.Count() Then sFont = m_sFonts(m_nLast) End If + ' determino l'angolo di rotazione + Dim vtDir As Vector3d = (m_ptP2 - m_ptP1).Loc(GDB_ID.GRID) + Dim dLen, dAngVertDeg, dAngRotDeg As Double + vtDir.ToSpherical(dLen, dAngVertDeg, dAngRotDeg) ' creo l'entità testo (i punti sono in globale) EnableCommandLog() - Dim nId As Integer = EgtCreateTextEx(GetCurrLayer(), m_ptP1.Loc(GDB_ID.GRID), - Vector3d.Z_AX, (m_ptP2 - m_ptP1).Loc(GDB_ID.GRID), + Dim nId As Integer = EgtCreateTextEx(GetCurrLayer(), m_ptP1.Loc(GDB_ID.GRID), dAngRotDeg, m_sLast, sFont, m_bLast, m_dLast, GDB_RT.GRID) DisableCommandLog() EgtDraw() @@ -3397,9 +3386,13 @@ Public Class Controller ' recupero possibile entità già nel gruppo di drag Dim nId As Integer = EgtGetFirstInGroup(m_Scene.GetDragGroup()) EgtErase(nId) + ' determino l'angolo di rotazione + Dim vtDir As Vector3d = (m_ptP2 - m_ptP1).Loc(GDB_ID.GRID) + Dim dLen, dAngVertDeg, dAngRotDeg As Double + vtDir.ToSpherical(dLen, dAngVertDeg, dAngRotDeg) ' creo il testo (drag è in globale) - EgtCreateTextEx(m_Scene.GetDragGroup(), m_ptP1, EgtGetGridVersZ(), (m_ptP2 - m_ptP1), - m_sLast, "", False, 10, GDB_RT.GLOB) + EgtCreateTextEx(m_Scene.GetDragGroup(), m_ptP1.Loc(GDB_ID.GRID), dAngRotDeg, + m_sLast, "", False, 10, GDB_RT.GRID) EgtDraw() ElseIf m_nStep = 4 Then ' linea di base @@ -3412,9 +3405,13 @@ Public Class Controller If m_nLast >= 0 And m_nLast < m_sFonts.Count() Then sFont = m_sFonts(m_nLast) End If + ' determino l'angolo di rotazione + Dim vtDir As Vector3d = (m_ptP2 - m_ptP1).Loc(GDB_ID.GRID) + Dim dLen, dAngVertDeg, dAngRotDeg As Double + vtDir.ToSpherical(dLen, dAngVertDeg, dAngRotDeg) ' creo il testo (drag è in globale) - EgtCreateTextEx(m_Scene.GetDragGroup(), m_ptP1, EgtGetGridVersZ(), (m_ptP2 - m_ptP1), - m_sLast, sFont, m_bLast, m_dLast, GDB_RT.GLOB) + EgtCreateTextEx(m_Scene.GetDragGroup(), m_ptP1.Loc(GDB_ID.GRID), dAngRotDeg, + m_sLast, sFont, m_bLast, m_dLast, GDB_RT.GRID) EgtDraw() End If End Sub diff --git a/EgtInterface.vb b/EgtInterface.vb index c11e1e2..b73a368 100644 --- a/EgtInterface.vb +++ b/EgtInterface.vb @@ -1666,6 +1666,23 @@ Public Function EgtCreateCurveLineEx(ByVal nParentId As Integer, End If End Function + +Private Function EgtCreateCurveLinePDL_32(ByVal nParentId As Integer, + ByRef PtStart As Point3d, ByVal dDirDeg As Double, ByVal dLen As Double, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer +End Function + +Private Function EgtCreateCurveLinePDL_64(ByVal nParentId As Integer, + ByRef PtStart As Point3d, ByVal dDirDeg As Double, ByVal dLen As Double, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer +End Function +Public Function EgtCreateCurveLinePDL(ByVal nParentId As Integer, + ByRef PtStart As Point3d, ByVal dDirDeg As Double, ByVal dLen As Double, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + If IntPtr.Size = 4 Then + Return EgtCreateCurveLinePDL_32(nParentId, PtStart, dDirDeg, dLen, nRefType) + Else + Return EgtCreateCurveLinePDL_64(nParentId, PtStart, dDirDeg, dLen, nRefType) + End If +End Function + Private Function EgtCreateCurveLinePVL_32(ByVal nParentId As Integer, ByRef PtStart As Point3d, ByRef VtDir As Vector3d, ByVal dLen As Double, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer @@ -1685,55 +1702,55 @@ End Function Private Function EgtCreateCurveCircle_32(ByVal nParentId As Integer, - ByRef PtCen As Point3d, ByRef VtNorm As Vector3d, ByVal dRad As Double, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + ByRef PtCen As Point3d, ByVal dRad As Double, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function Private Function EgtCreateCurveCircle_64(ByVal nParentId As Integer, - ByRef PtCen As Point3d, ByRef VtNorm As Vector3d, ByVal dRad As Double, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + ByRef PtCen As Point3d, ByVal dRad As Double, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function Public Function EgtCreateCurveCircle(ByVal nParentId As Integer, - ByRef PtCen As Point3d, ByRef VtNorm As Vector3d, ByVal dRad As Double, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + ByRef PtCen As Point3d, ByVal dRad As Double, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer If IntPtr.Size = 4 Then - Return EgtCreateCurveCircle_32(nParentId, PtCen, VtNorm, dRad, nRefType) + Return EgtCreateCurveCircle_32(nParentId, PtCen, dRad, nRefType) Else - Return EgtCreateCurveCircle_64(nParentId, PtCen, VtNorm, dRad, nRefType) + Return EgtCreateCurveCircle_64(nParentId, PtCen, dRad, nRefType) End If End Function - -Private Function EgtCreateCurveCircleCPN_32(ByVal nParentId As Integer, - ByRef PtCen As Point3d, ByRef PtOn As Point3d, ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + +Private Function EgtCreateCurveCircleCP_32(ByVal nParentId As Integer, + ByRef PtCen As Point3d, ByRef PtOn As Point3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function - -Private Function EgtCreateCurveCircleCPN_64(ByVal nParentId As Integer, - ByRef PtCen As Point3d, ByRef PtOn As Point3d, ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + +Private Function EgtCreateCurveCircleCP_64(ByVal nParentId As Integer, + ByRef PtCen As Point3d, ByRef PtOn As Point3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function -Public Function EgtCreateCurveCircleCPN(ByVal nParentId As Integer, - ByRef PtCen As Point3d, ByRef PtOn As Point3d, ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer +Public Function EgtCreateCurveCircleCP(ByVal nParentId As Integer, + ByRef PtCen As Point3d, ByRef PtOn As Point3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer If IntPtr.Size = 4 Then - Return EgtCreateCurveCircleCPN_32(nParentId, PtCen, PtOn, VtNorm, nRefType) + Return EgtCreateCurveCircleCP_32(nParentId, PtCen, PtOn, nRefType) Else - Return EgtCreateCurveCircleCPN_64(nParentId, PtCen, PtOn, VtNorm, nRefType) + Return EgtCreateCurveCircleCP_64(nParentId, PtCen, PtOn, nRefType) End If End Function - -Private Function EgtCreateCurveCircleCPNEx_32(ByVal nParentId As Integer, - ByRef PtCen As Point3d, ByRef PtOn As Point3d, ByVal nSepO As SEP, ByVal nIdO As Integer, - ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + +Private Function EgtCreateCurveCircleCPEx_32(ByVal nParentId As Integer, ByRef PtCen As Point3d, + ByRef PtOn As Point3d, ByVal nSepO As SEP, ByVal nIdO As Integer, + Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function - -Private Function EgtCreateCurveCircleCPNEx_64(ByVal nParentId As Integer, - ByRef PtCen As Point3d, ByRef PtOn As Point3d, ByVal nSepO As SEP, ByVal nIdO As Integer, - ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + +Private Function EgtCreateCurveCircleCPEx_64(ByVal nParentId As Integer, ByRef PtCen As Point3d, + ByRef PtOn As Point3d, ByVal nSepO As SEP, ByVal nIdO As Integer, + Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function -Public Function EgtCreateCurveCircleCPNEx(ByVal nParentId As Integer, - ByRef PtCen As Point3d, ByRef PtOn As Point3d, ByVal nSepO As SEP, ByVal nIdO As Integer, - ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer +Public Function EgtCreateCurveCircleCPEx(ByVal nParentId As Integer, ByRef PtCen As Point3d, + ByRef PtOn As Point3d, ByVal nSepO As SEP, ByVal nIdO As Integer, + Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer If IntPtr.Size = 4 Then - Return EgtCreateCurveCircleCPNEx_32(nParentId, PtCen, PtOn, nSepO, nIdO, VtNorm, nRefType) + Return EgtCreateCurveCircleCPEx_32(nParentId, PtCen, PtOn, nSepO, nIdO, nRefType) Else - Return EgtCreateCurveCircleCPNEx_64(nParentId, PtCen, PtOn, nSepO, nIdO, VtNorm, nRefType) + Return EgtCreateCurveCircleCPEx_64(nParentId, PtCen, PtOn, nSepO, nIdO, nRefType) End If End Function @@ -1754,123 +1771,140 @@ Public Function EgtCreateCurveArc3P(ByVal nParentId As Integer, End If End Function - -Private Function EgtCreateCurveArcC2PN_32(ByVal nParentId As Integer, - ByRef PtCen As Point3d, ByRef PtStart As Point3d, ByRef PtEnd As Point3d, - ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + +Private Function EgtCreateCurveArcC2P_32(ByVal nParentId As Integer, + ByRef PtCen As Point3d, ByRef PtStart As Point3d, ByRef PtEnd As Point3d, + Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function - -Private Function EgtCreateCurveArcC2PN_64(ByVal nParentId As Integer, - ByRef PtCen As Point3d, ByRef PtStart As Point3d, ByRef PtEnd As Point3d, - ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + +Private Function EgtCreateCurveArcC2P_64(ByVal nParentId As Integer, + ByRef PtCen As Point3d, ByRef PtStart As Point3d, ByRef PtEnd As Point3d, + Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function -Public Function EgtCreateCurveArcC2PN(ByVal nParentId As Integer, - ByRef PtCen As Point3d, ByRef PtStart As Point3d, ByRef PtEnd As Point3d, - ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer +Public Function EgtCreateCurveArcC2P(ByVal nParentId As Integer, + ByRef PtCen As Point3d, ByRef PtStart As Point3d, ByRef PtEnd As Point3d, + Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer If IntPtr.Size = 4 Then - Return EgtCreateCurveArcC2PN_32(nParentId, PtCen, PtStart, PtEnd, VtNorm, nRefType) + Return EgtCreateCurveArcC2P_32(nParentId, PtCen, PtStart, PtEnd, nRefType) Else - Return EgtCreateCurveArcC2PN_64(nParentId, PtCen, PtStart, PtEnd, VtNorm, nRefType) + Return EgtCreateCurveArcC2P_64(nParentId, PtCen, PtStart, PtEnd, nRefType) End If End Function - -Private Function EgtCreateCurveArcC2PNEx_32(ByVal nParentId As Integer, - ByRef PtCen As Point3d, ByRef PtStart As Point3d, ByVal nSepS As SEP, ByVal nIdS As Integer, - ByRef PtEnd As Point3d, ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + +Private Function EgtCreateCurveArcC2PEx_32(ByVal nParentId As Integer, + ByRef PtCen As Point3d, ByRef PtStart As Point3d, ByVal nSepS As SEP, ByVal nIdS As Integer, + ByRef PtEnd As Point3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function - -Private Function EgtCreateCurveArcC2PNEx_64(ByVal nParentId As Integer, - ByRef PtCen As Point3d, ByRef PtStart As Point3d, ByVal nSepS As SEP, ByVal nIdS As Integer, - ByRef PtEnd As Point3d, ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + +Private Function EgtCreateCurveArcC2PEx_64(ByVal nParentId As Integer, + ByRef PtCen As Point3d, ByRef PtStart As Point3d, ByVal nSepS As SEP, ByVal nIdS As Integer, + ByRef PtEnd As Point3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function -Public Function EgtCreateCurveArcC2PNEx(ByVal nParentId As Integer, - ByRef PtCen As Point3d, ByRef PtStart As Point3d, ByVal nSepS As SEP, ByVal nIdS As Integer, - ByRef PtEnd As Point3d, ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer +Public Function EgtCreateCurveArcC2PEx(ByVal nParentId As Integer, + ByRef PtCen As Point3d, ByRef PtStart As Point3d, ByVal nSepS As SEP, ByVal nIdS As Integer, + ByRef PtEnd As Point3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer If IntPtr.Size = 4 Then - Return EgtCreateCurveArcC2PNEx_32(nParentId, PtCen, PtStart, nSepS, nIdS, PtEnd, VtNorm, nRefType) + Return EgtCreateCurveArcC2PEx_32(nParentId, PtCen, PtStart, nSepS, nIdS, PtEnd, nRefType) Else - Return EgtCreateCurveArcC2PNEx_64(nParentId, PtCen, PtStart, nSepS, nIdS, PtEnd, VtNorm, nRefType) + Return EgtCreateCurveArcC2PEx_64(nParentId, PtCen, PtStart, nSepS, nIdS, PtEnd, nRefType) End If End Function - -Private Function EgtCreateCurveArc2PVN_32(ByVal nParentId As Integer, - ByRef PtStart As Point3d, ByRef PtEnd As Point3d, ByRef VtDirS As Vector3d, - ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + +Private Function EgtCreateCurveArc2PD_32(ByVal nParentId As Integer, ByRef PtStart As Point3d, ByRef PtEnd As Point3d, + ByVal dDirSDeg As Double, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function - -Private Function EgtCreateCurveArc2PVN_64(ByVal nParentId As Integer, - ByRef PtStart As Point3d, ByRef PtEnd As Point3d, ByRef VtDirS As Vector3d, - ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + +Private Function EgtCreateCurveArc2PD_64(ByVal nParentId As Integer, ByRef PtStart As Point3d, ByRef PtEnd As Point3d, + ByVal dDirSDeg As Double, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function -Public Function EgtCreateCurveArc2PVN(ByVal nParentId As Integer, - ByRef PtStart As Point3d, ByRef PtEnd As Point3d, ByRef VtDirS As Vector3d, - ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer +Public Function EgtCreateCurveArc2PD(ByVal nParentId As Integer, ByRef PtStart As Point3d, ByRef PtEnd As Point3d, + ByVal dDirSDeg As Double, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer If IntPtr.Size = 4 Then - Return EgtCreateCurveArc2PVN_32(nParentId, PtStart, PtEnd, VtDirS, VtNorm, nRefType) + Return EgtCreateCurveArc2PD_32(nParentId, PtStart, PtEnd, dDirSDeg, nRefType) Else - Return EgtCreateCurveArc2PVN_64(nParentId, PtStart, PtEnd, VtDirS, VtNorm, nRefType) + Return EgtCreateCurveArc2PD_64(nParentId, PtStart, PtEnd, dDirSDeg, nRefType) End If End Function - -Private Function EgtCreateCurveArc2PVNEx_32(ByVal nParentId As Integer, ByRef PtStart As Point3d, + +Private Function EgtCreateCurveArc2PDEx_32(ByVal nParentId As Integer, ByRef PtStart As Point3d, ByRef PtEnd As Point3d, ByVal nSepE As SEP, ByVal nIdE As Integer, - ByRef VtDirS As Vector3d, ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + ByVal dDirSDeg As Double, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function - -Private Function EgtCreateCurveArc2PVNEx_64(ByVal nParentId As Integer, ByRef PtStart As Point3d, + +Private Function EgtCreateCurveArc2PDEx_64(ByVal nParentId As Integer, ByRef PtStart As Point3d, ByRef PtEnd As Point3d, ByVal nSepE As SEP, ByVal nIdE As Integer, - ByRef VtDirS As Vector3d, ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + ByVal dDirSDeg As Double, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function -Public Function EgtCreateCurveArc2PVNEx(ByVal nParentId As Integer, ByRef PtStart As Point3d, +Public Function EgtCreateCurveArc2PDEx(ByVal nParentId As Integer, ByRef PtStart As Point3d, ByRef PtEnd As Point3d, ByVal nSepE As SEP, ByVal nIdE As Integer, - ByRef VtDirS As Vector3d, ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + ByVal dDirSDeg As Double, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer If IntPtr.Size = 4 Then - Return EgtCreateCurveArc2PVNEx_32(nParentId, PtStart, PtEnd, nSepE, nIdE, VtDirS, VtNorm, nRefType) + Return EgtCreateCurveArc2PDEx_32(nParentId, PtStart, PtEnd, nSepE, nIdE, dDirSDeg, nRefType) Else - Return EgtCreateCurveArc2PVNEx_64(nParentId, PtStart, PtEnd, nSepE, nIdE, VtDirS, VtNorm, nRefType) + Return EgtCreateCurveArc2PDEx_64(nParentId, PtStart, PtEnd, nSepE, nIdE, dDirSDeg, nRefType) + End If +End Function + + +Private Function EgtCreateCurveArc2PV_32(ByVal nParentId As Integer, + ByRef PtStart As Point3d, ByRef PtEnd As Point3d, ByRef VtDirS As Vector3d, + Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer +End Function + +Private Function EgtCreateCurveArc2PV_64(ByVal nParentId As Integer, + ByRef PtStart As Point3d, ByRef PtEnd As Point3d, ByRef VtDirS As Vector3d, + Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer +End Function +Public Function EgtCreateCurveArc2PV(ByVal nParentId As Integer, + ByRef PtStart As Point3d, ByRef PtEnd As Point3d, ByRef VtDirS As Vector3d, + Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + If IntPtr.Size = 4 Then + Return EgtCreateCurveArc2PV_32(nParentId, PtStart, PtEnd, VtDirS, nRefType) + Else + Return EgtCreateCurveArc2PV_64(nParentId, PtStart, PtEnd, VtDirS, nRefType) End If End Function Private Function EgtCreateCurveFillet_32(ByVal nParentId As Integer, ByVal nCrv1 As Integer, ByRef PtNear1 As Point3d, ByVal nCrv2 As Integer, ByRef PtNear2 As Point3d, - ByRef VtNorm As Vector3d, ByVal dRad As Double, ByVal bTrimExt As Boolean, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + ByVal dRad As Double, ByVal bTrimExt As Boolean, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function Private Function EgtCreateCurveFillet_64(ByVal nParentId As Integer, ByVal nCrv1 As Integer, ByRef PtNear1 As Point3d, ByVal nCrv2 As Integer, ByRef PtNear2 As Point3d, - ByRef VtNorm As Vector3d, ByVal dRad As Double, ByVal bTrimExt As Boolean, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + ByVal dRad As Double, ByVal bTrimExt As Boolean, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function Public Function EgtCreateCurveFillet(ByVal nParentId As Integer, ByVal nCrv1 As Integer, ByRef PtNear1 As Point3d, ByVal nCrv2 As Integer, ByRef PtNear2 As Point3d, - ByRef VtNorm As Vector3d, ByVal dRad As Double, ByVal bTrimExt As Boolean, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + ByVal dRad As Double, ByVal bTrimExt As Boolean, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer If IntPtr.Size = 4 Then - Return EgtCreateCurveFillet_32(nParentId, nCrv1, PtNear1, nCrv2, PtNear2, VtNorm, dRad, bTrimExt, nRefType) + Return EgtCreateCurveFillet_32(nParentId, nCrv1, PtNear1, nCrv2, PtNear2, dRad, bTrimExt, nRefType) Else - Return EgtCreateCurveFillet_64(nParentId, nCrv1, PtNear1, nCrv2, PtNear2, VtNorm, dRad, bTrimExt, nRefType) + Return EgtCreateCurveFillet_64(nParentId, nCrv1, PtNear1, nCrv2, PtNear2, dRad, bTrimExt, nRefType) End If End Function - + Private Function EgtCreateCurveChamfer_32(ByVal nParentId As Integer, ByVal nCrv1 As Integer, ByRef PtNear1 As Point3d, ByVal nCrv2 As Integer, ByRef PtNear2 As Point3d, - ByRef VtNorm As Vector3d, ByVal dDist As Double, ByVal bTrimExt As Boolean, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + ByVal dDist As Double, ByVal bTrimExt As Boolean, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function - + Private Function EgtCreateCurveChamfer_64(ByVal nParentId As Integer, ByVal nCrv1 As Integer, ByRef PtNear1 As Point3d, ByVal nCrv2 As Integer, ByRef PtNear2 As Point3d, - ByRef VtNorm As Vector3d, ByVal dDist As Double, ByVal bTrimExt As Boolean, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + ByVal dDist As Double, ByVal bTrimExt As Boolean, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function Public Function EgtCreateCurveChamfer(ByVal nParentId As Integer, ByVal nCrv1 As Integer, ByRef PtNear1 As Point3d, ByVal nCrv2 As Integer, ByRef PtNear2 As Point3d, - ByRef VtNorm As Vector3d, ByVal dDist As Double, ByVal bTrimExt As Boolean, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + ByVal dDist As Double, ByVal bTrimExt As Boolean, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer If IntPtr.Size = 4 Then - Return EgtCreateCurveChamfer_32(nParentId, nCrv1, PtNear1, nCrv2, PtNear2, VtNorm, dDist, bTrimExt, nRefType) + Return EgtCreateCurveChamfer_32(nParentId, nCrv1, PtNear1, nCrv2, PtNear2, dDist, bTrimExt, nRefType) Else - Return EgtCreateCurveChamfer_64(nParentId, nCrv1, PtNear1, nCrv2, PtNear2, VtNorm, dDist, bTrimExt, nRefType) + Return EgtCreateCurveChamfer_64(nParentId, nCrv1, PtNear1, nCrv2, PtNear2, dDist, bTrimExt, nRefType) End If End Function @@ -1891,6 +1925,26 @@ Public Function EgtCreateCurveCompoByChain(ByVal nParentId As Integer, ByVal nNu End If End Function + +Private Function EgtCreateRectangle2P_32(ByVal nParentId As Integer, + ByRef PtStart As Point3d, ByRef PtCross As Point3d, + Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer +End Function + +Private Function EgtCreateRectangle2P_64(ByVal nParentId As Integer, + ByRef PtStart As Point3d, ByRef PtCross As Point3d, + Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer +End Function +Public Function EgtCreateRectangle2P(ByVal nParentId As Integer, + ByRef PtStart As Point3d, ByRef PtCross As Point3d, + Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + If IntPtr.Size = 4 Then + Return EgtCreateRectangle2P_32(nParentId, PtStart, PtCross, nRefType) + Else + Return EgtCreateRectangle2P_64(nParentId, PtStart, PtCross, nRefType) + End If +End Function + Private Function EgtCreateRectangle3P_32(ByVal nParentId As Integer, ByRef PtStart As Point3d, ByRef PtCross As Point3d, @@ -1913,52 +1967,52 @@ End Function Private Function EgtCreatePolygonFromRadius_32(ByVal nParentId As Integer, ByVal nNumSides As Integer, ByRef PtCen As Point3d, - ByRef PtCorn As Point3d, ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + ByRef PtCorn As Point3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function Private Function EgtCreatePolygonFromRadius_64(ByVal nParentId As Integer, ByVal nNumSides As Integer, ByRef PtCen As Point3d, - ByRef PtCorn As Point3d, ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + ByRef PtCorn As Point3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function Public Function EgtCreatePolygonFromRadius(ByVal nParentId As Integer, ByVal nNumSides As Integer, ByRef PtCen As Point3d, - ByRef PtCorn As Point3d, ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + ByRef PtCorn As Point3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer If IntPtr.Size = 4 Then - Return EgtCreatePolygonFromRadius_32(nParentId, nNumSides, PtCen, PtCorn, VtNorm, nRefType) + Return EgtCreatePolygonFromRadius_32(nParentId, nNumSides, PtCen, PtCorn, nRefType) Else - Return EgtCreatePolygonFromRadius_64(nParentId, nNumSides, PtCen, PtCorn, VtNorm, nRefType) + Return EgtCreatePolygonFromRadius_64(nParentId, nNumSides, PtCen, PtCorn, nRefType) End If End Function Private Function EgtCreatePolygonFromApothem_32(ByVal nParentId As Integer, ByVal nNumSides As Integer, ByRef PtCen As Point3d, - ByRef PtMid As Point3d, ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + ByRef PtMid As Point3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function Private Function EgtCreatePolygonFromApothem_64(ByVal nParentId As Integer, ByVal nNumSides As Integer, ByRef PtCen As Point3d, - ByRef PtMid As Point3d, ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + ByRef PtMid As Point3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function Public Function EgtCreatePolygonFromApothem(ByVal nParentId As Integer, ByVal nNumSides As Integer, ByRef PtCen As Point3d, - ByRef PtMid As Point3d, ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + ByRef PtMid As Point3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer If IntPtr.Size = 4 Then - Return EgtCreatePolygonFromApothem_32(nParentId, nNumSides, PtCen, PtMid, VtNorm, nRefType) + Return EgtCreatePolygonFromApothem_32(nParentId, nNumSides, PtCen, PtMid, nRefType) Else - Return EgtCreatePolygonFromApothem_64(nParentId, nNumSides, PtCen, PtMid, VtNorm, nRefType) + Return EgtCreatePolygonFromApothem_64(nParentId, nNumSides, PtCen, PtMid, nRefType) End If End Function Private Function EgtCreatePolygonFromSide_32(ByVal nParentId As Integer, ByVal nNumSides As Integer, ByRef PtStart As Point3d, - ByRef PtFin As Point3d, ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + ByRef PtFin As Point3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function Private Function EgtCreatePolygonFromSide_64(ByVal nParentId As Integer, ByVal nNumSides As Integer, ByRef PtStart As Point3d, - ByRef PtFin As Point3d, ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + ByRef PtFin As Point3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function Public Function EgtCreatePolygonFromSide(ByVal nParentId As Integer, ByVal nNumSides As Integer, ByRef PtStart As Point3d, - ByRef PtFin As Point3d, ByRef VtNorm As Vector3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer + ByRef PtFin As Point3d, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer If IntPtr.Size = 4 Then - Return EgtCreatePolygonFromSide_32(nParentId, nNumSides, PtStart, PtFin, VtNorm, nRefType) + Return EgtCreatePolygonFromSide_32(nParentId, nNumSides, PtStart, PtFin, nRefType) Else - Return EgtCreatePolygonFromSide_64(nParentId, nNumSides, PtStart, PtFin, VtNorm, nRefType) + Return EgtCreatePolygonFromSide_64(nParentId, nNumSides, PtStart, PtFin, nRefType) End If End Function @@ -2119,62 +2173,62 @@ Public Function EgtCreateSurfTmBySewing(ByVal nParentId As Integer, ByVal nNumSr End Function -Private Function EgtCreateText_32(ByVal nParentId As Integer, ByRef ptP As Point3d, ByVal dAngRotDeg As Double, +Private Function EgtCreateText_32(ByVal nParentId As Integer, ByRef ptP As Point3d, ByVal sText As String, ByVal dH As Double, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function -Private Function EgtCreateText_64(ByVal nParentId As Integer, ByRef ptP As Point3d, ByVal dAngRotDeg As Double, +Private Function EgtCreateText_64(ByVal nParentId As Integer, ByRef ptP As Point3d, ByVal sText As String, ByVal dH As Double, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function -Public Function EgtCreateText(ByVal nParentId As Integer, ByRef ptP As Point3d, ByVal dAngRotDeg As Double, +Public Function EgtCreateText(ByVal nParentId As Integer, ByRef ptP As Point3d, ByVal sText As String, ByVal dH As Double, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer If IntPtr.Size = 4 Then - Return EgtCreateText_32(nParentId, ptP, dAngRotDeg, sText, dH, nRefType) + Return EgtCreateText_32(nParentId, ptP, sText, dH, nRefType) Else - Return EgtCreateText_64(nParentId, ptP, dAngRotDeg, sText, dH, nRefType) + Return EgtCreateText_64(nParentId, ptP, sText, dH, nRefType) End If End Function -Private Function EgtCreateTextEx_32(ByVal nParentId As Integer, ByRef ptP As Point3d, ByRef vtN As Vector3d, ByRef vtD As Vector3d, +Private Function EgtCreateTextEx_32(ByVal nParentId As Integer, ByRef ptP As Point3d, ByVal dAngRotDeg As Double, ByVal sText As String, ByVal sFont As String, ByVal bItalic As Boolean, ByVal dH As Double, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function -Private Function EgtCreateTextEx_64(ByVal nParentId As Integer, ByRef ptP As Point3d, ByRef vtN As Vector3d, ByRef vtD As Vector3d, +Private Function EgtCreateTextEx_64(ByVal nParentId As Integer, ByRef ptP As Point3d, ByVal dAngRotDeg As Double, ByVal sText As String, ByVal sFont As String, ByVal bItalic As Boolean, ByVal dH As Double, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function -Public Function EgtCreateTextEx(ByVal nParentId As Integer, ByRef ptP As Point3d, ByRef vtN As Vector3d, ByRef vtD As Vector3d, +Public Function EgtCreateTextEx(ByVal nParentId As Integer, ByRef ptP As Point3d, ByVal dAngRotDeg As Double, ByVal sText As String, ByVal sFont As String, ByVal bItalic As Boolean, ByVal dH As Double, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer If IntPtr.Size = 4 Then - Return EgtCreateTextEx_32(nParentId, ptP, vtN, vtD, sText, sFont, bItalic, dH, nRefType) + Return EgtCreateTextEx_32(nParentId, ptP, dAngRotDeg, sText, sFont, bItalic, dH, nRefType) Else - Return EgtCreateTextEx_64(nParentId, ptP, vtN, vtD, sText, sFont, bItalic, dH, nRefType) + Return EgtCreateTextEx_64(nParentId, ptP, dAngRotDeg, sText, sFont, bItalic, dH, nRefType) End If End Function -Private Function EgtCreateTextAdv_32(ByVal nParentId As Integer, ByRef ptP As Point3d, ByRef vtN As Vector3d, ByRef vtD As Vector3d, +Private Function EgtCreateTextAdv_32(ByVal nParentId As Integer, ByRef ptP As Point3d, ByVal dAngRotDeg As Double, ByVal sText As String, ByVal sFont As String, ByVal nW As Integer, ByVal bItalic As Boolean, ByVal dH As Double, ByVal dRat As Double, ByVal dAddAdv As Double, ByVal nInsPos As Integer, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function -Private Function EgtCreateTextAdv_64(ByVal nParentId As Integer, ByRef ptP As Point3d, ByRef vtN As Vector3d, ByRef vtD As Vector3d, +Private Function EgtCreateTextAdv_64(ByVal nParentId As Integer, ByRef ptP As Point3d, ByVal dAngRotDeg As Double, ByVal sText As String, ByVal sFont As String, ByVal nW As Integer, ByVal bItalic As Boolean, ByVal dH As Double, ByVal dRat As Double, ByVal dAddAdv As Double, ByVal nInsPos As Integer, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer End Function -Public Function EgtCreateTextAdv(ByVal nParentId As Integer, ByRef ptP As Point3d, ByRef vtN As Vector3d, ByRef vtD As Vector3d, +Public Function EgtCreateTextAdv(ByVal nParentId As Integer, ByRef ptP As Point3d, ByVal dAngRotDeg As Double, ByVal sText As String, ByVal sFont As String, ByVal nW As Integer, ByVal bItalic As Boolean, ByVal dH As Double, ByVal dRat As Double, ByVal dAddAdv As Double, ByVal nInsPos As Integer, Optional ByVal nRefType As GDB_RT = GDB_RT.LOC) As Integer If IntPtr.Size = 4 Then - Return EgtCreateTextAdv_32(nParentId, ptP, vtN, vtD, sText, sFont, nW, bItalic, dH, dRat, dAddAdv, nInsPos, nRefType) + Return EgtCreateTextAdv_32(nParentId, ptP, dAngRotDeg, sText, sFont, nW, bItalic, dH, dRat, dAddAdv, nInsPos, nRefType) Else - Return EgtCreateTextAdv_64(nParentId, ptP, vtN, vtD, sText, sFont, nW, bItalic, dH, dRat, dAddAdv, nInsPos, nRefType) + Return EgtCreateTextAdv_64(nParentId, ptP, dAngRotDeg, sText, sFont, nW, bItalic, dH, dRat, dAddAdv, nInsPos, nRefType) End If End Function @@ -5664,6 +5718,8 @@ End Function '---------- Costanti ----------------------------------------------------------- 'Costanti : GEOMETRIA +Public Const ONEMM As Double = 1.0 +Public Const ONEINCH As Double = 25.4 Public Const EPS_SMALL As Double = 0.001 Public Const EPS_ZERO As Double = 0.0000001 Public Const INFINITO As Double = 10000000000.0 @@ -5693,6 +5749,8 @@ Public Enum GDB_ID As Integer NULL = -1 SEL = -2 GRID = -3 + CURRPART = -4 + CURRLAYER = -5 End Enum 'Costanti : TIPO OGGETTI Public Enum GDB_TY As Integer @@ -5713,7 +5771,7 @@ End Enum Public Enum GDB_RT As Integer GLOB = 0 GRID = -3 - LOC = -4 + LOC = -6 End Enum 'Costanti : POSIZIONE DI COPIA DI UN OGGETTO Public Enum GDB_POS As Integer diff --git a/FlatParts.Designer.vb b/FlatParts.Designer.vb new file mode 100644 index 0000000..b95cc78 --- /dev/null +++ b/FlatParts.Designer.vb @@ -0,0 +1,180 @@ + _ +Partial Class FlatParts + Inherits System.Windows.Forms.Form + + 'Form overrides dispose to clean up the component list. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(FlatParts)) + Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel() + Me.Scene2 = New TestEIn.Scene() + Me.tbCurrDir = New System.Windows.Forms.TextBox() + Me.ListView1 = New System.Windows.Forms.ListView() + Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components) + Me.TableLayoutPanel2 = New System.Windows.Forms.TableLayoutPanel() + Me.rbMm = New System.Windows.Forms.RadioButton() + Me.rbInch = New System.Windows.Forms.RadioButton() + Me.TableLayoutPanel1.SuspendLayout() + Me.TableLayoutPanel2.SuspendLayout() + Me.SuspendLayout() + ' + 'TableLayoutPanel1 + ' + Me.TableLayoutPanel1.ColumnCount = 2 + Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 200.0!)) + Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100.0!)) + Me.TableLayoutPanel1.Controls.Add(Me.Scene2, 1, 1) + Me.TableLayoutPanel1.Controls.Add(Me.tbCurrDir, 0, 0) + Me.TableLayoutPanel1.Controls.Add(Me.ListView1, 0, 1) + Me.TableLayoutPanel1.Controls.Add(Me.TableLayoutPanel2, 1, 0) + Me.TableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill + Me.TableLayoutPanel1.Location = New System.Drawing.Point(0, 0) + Me.TableLayoutPanel1.Margin = New System.Windows.Forms.Padding(0) + Me.TableLayoutPanel1.Name = "TableLayoutPanel1" + Me.TableLayoutPanel1.RowCount = 3 + Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 26.0!)) + Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 69.08212!)) + Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 30.91788!)) + Me.TableLayoutPanel1.Size = New System.Drawing.Size(744, 414) + Me.TableLayoutPanel1.TabIndex = 0 + ' + 'Scene2 + ' + Me.Scene2.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D + Me.Scene2.Cursor = System.Windows.Forms.Cursors.Default + Me.Scene2.Dock = System.Windows.Forms.DockStyle.Fill + Me.Scene2.Location = New System.Drawing.Point(200, 29) + Me.Scene2.Margin = New System.Windows.Forms.Padding(0, 3, 3, 0) + Me.Scene2.Name = "Scene2" + Me.Scene2.Size = New System.Drawing.Size(541, 265) + Me.Scene2.TabIndex = 8 + ' + 'tbCurrDir + ' + Me.tbCurrDir.Dock = System.Windows.Forms.DockStyle.Fill + Me.tbCurrDir.Font = New System.Drawing.Font("Microsoft Sans Serif", 11.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.tbCurrDir.Location = New System.Drawing.Point(3, 3) + Me.tbCurrDir.Margin = New System.Windows.Forms.Padding(3, 3, 3, 0) + Me.tbCurrDir.Name = "tbCurrDir" + Me.tbCurrDir.ReadOnly = True + Me.tbCurrDir.Size = New System.Drawing.Size(194, 24) + Me.tbCurrDir.TabIndex = 6 + Me.tbCurrDir.TabStop = False + ' + 'ListView1 + ' + Me.ListView1.Dock = System.Windows.Forms.DockStyle.Fill + Me.ListView1.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.ListView1.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable + Me.ListView1.HideSelection = False + Me.ListView1.LabelWrap = False + Me.ListView1.Location = New System.Drawing.Point(3, 29) + Me.ListView1.MultiSelect = False + Me.ListView1.Name = "ListView1" + Me.TableLayoutPanel1.SetRowSpan(Me.ListView1, 2) + Me.ListView1.ShowGroups = False + Me.ListView1.Size = New System.Drawing.Size(194, 382) + Me.ListView1.SmallImageList = Me.ImageList1 + Me.ListView1.TabIndex = 7 + Me.ListView1.UseCompatibleStateImageBehavior = False + Me.ListView1.View = System.Windows.Forms.View.SmallIcon + ' + 'ImageList1 + ' + Me.ImageList1.ImageStream = CType(resources.GetObject("ImageList1.ImageStream"), System.Windows.Forms.ImageListStreamer) + Me.ImageList1.TransparentColor = System.Drawing.Color.Pink + Me.ImageList1.Images.SetKeyName(0, "FlUp.png") + Me.ImageList1.Images.SetKeyName(1, "FlHD.png") + Me.ImageList1.Images.SetKeyName(2, "FlDir.png") + Me.ImageList1.Images.SetKeyName(3, "FlFile.png") + ' + 'TableLayoutPanel2 + ' + Me.TableLayoutPanel2.ColumnCount = 4 + Me.TableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 60.0!)) + Me.TableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 60.0!)) + Me.TableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 60.0!)) + Me.TableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle()) + Me.TableLayoutPanel2.Controls.Add(Me.rbMm, 1, 0) + Me.TableLayoutPanel2.Controls.Add(Me.rbInch, 2, 0) + Me.TableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill + Me.TableLayoutPanel2.Location = New System.Drawing.Point(200, 0) + Me.TableLayoutPanel2.Margin = New System.Windows.Forms.Padding(0) + Me.TableLayoutPanel2.Name = "TableLayoutPanel2" + Me.TableLayoutPanel2.RowCount = 1 + Me.TableLayoutPanel2.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!)) + Me.TableLayoutPanel2.Size = New System.Drawing.Size(544, 26) + Me.TableLayoutPanel2.TabIndex = 10 + ' + 'rbMm + ' + Me.rbMm.AutoSize = True + Me.rbMm.Font = New System.Drawing.Font("Microsoft Sans Serif", 11.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.rbMm.Location = New System.Drawing.Point(63, 3) + Me.rbMm.Margin = New System.Windows.Forms.Padding(3, 3, 3, 0) + Me.rbMm.Name = "rbMm" + Me.rbMm.Size = New System.Drawing.Size(52, 22) + Me.rbMm.TabIndex = 9 + Me.rbMm.TabStop = True + Me.rbMm.Text = "mm" + Me.rbMm.UseVisualStyleBackColor = False + ' + 'rbInch + ' + Me.rbInch.AutoSize = True + Me.rbInch.Font = New System.Drawing.Font("Microsoft Sans Serif", 11.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.rbInch.Location = New System.Drawing.Point(123, 3) + Me.rbInch.Margin = New System.Windows.Forms.Padding(3, 3, 3, 0) + Me.rbInch.Name = "rbInch" + Me.rbInch.Size = New System.Drawing.Size(53, 22) + Me.rbInch.TabIndex = 10 + Me.rbInch.TabStop = True + Me.rbInch.Text = "Inch" + Me.rbInch.UseVisualStyleBackColor = False + ' + 'FlatParts + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(744, 414) + Me.Controls.Add(Me.TableLayoutPanel1) + Me.KeyPreview = True + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.MinimumSize = New System.Drawing.Size(760, 453) + Me.Name = "FlatParts" + Me.ShowIcon = False + Me.TableLayoutPanel1.ResumeLayout(False) + Me.TableLayoutPanel1.PerformLayout() + Me.TableLayoutPanel2.ResumeLayout(False) + Me.TableLayoutPanel2.PerformLayout() + Me.ResumeLayout(False) + +End Sub + Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel + Friend WithEvents tbCurrDir As System.Windows.Forms.TextBox + Friend WithEvents ListView1 As System.Windows.Forms.ListView + Friend WithEvents ImageList1 As System.Windows.Forms.ImageList + Friend WithEvents Scene2 As TestEIn.Scene + Friend WithEvents rbMm As System.Windows.Forms.RadioButton + Friend WithEvents TableLayoutPanel2 As System.Windows.Forms.TableLayoutPanel + Friend WithEvents rbInch As System.Windows.Forms.RadioButton +End Class diff --git a/FlatParts.resx b/FlatParts.resx new file mode 100644 index 0000000..7064713 --- /dev/null +++ b/FlatParts.resx @@ -0,0 +1,226 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 14, 8 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACy + FQAAAk1TRnQBSQFMAgEBBAEAAZgBAAGYAQABIAEAASABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAGA + AwABQAMAAQEBAAEYBgABYP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A + /wD/AP8A/wCQAAP+PP0D/v8APAAD/gP7PPgD+wP9mQAh6X4AAckB1wHlAZgBsQHHAZgBsQHHAZgBrwHH + AZgBrwHHAZUBrAHEAZEBqgHBAZEBrwHJAY8BswHKAZEBswHKAY8BrgHKAZQBsgHJAY8BrwHJAY8BrwHH + AY8BrwHGAY8BrgHGAY8BrgHHAY8BrwHJAZEBsAHJAY8BtgHQAYoBsQHMAc0B1AHcAfUC9gP7A/6WACHp + PAAD/gP0A+gD0AO1A78DqQPnKgABqwHBAdcBrAHFAdoB0QHrAfUBmwHWAe8BmgHVAfABmgHVAfABmAHV + Ae8BmgHVAfABmgHVAe4BmgHVAe4BmgHVAfABmgHVAfABmAHVAe8BmgHVAfABmgHWAfABmgHVAfABmgHV + AfABmAHVAe8BmgHVAe4BmAHVAe8BmgHVAfABiwHAAdoBxQHOAdgD9wP8A/4hAAbvNukBSgJJAUoCSTAA + IekwAAP9A/UD6APTA88D2wPoA/ID+wP6A/ABrAGqAakBxwLGA/skAAG3AcgB3AG3AdMB5AHWAewB9QG6 + AeIB9AGcAdYB8AGcAdYB8AGcAdYB8AGcAdYB8AGcAdYB8AGcAdYB8AGcAdYB8AGcAdYB8AGcAdYB8AGc + AdYB8AGcAdYB8AGcAdYB8AGcAdYB8AGcAdYB8AGdAdcB8AGcAdYB8AGcAdYB8AGaAdUB7gF9AZsBugHv + AvAD+QP9IQAG7zbpAUoCSQFKAkkwAAnpPAAD/gP4A+8D4QPiA+sD8APzA/UG8QPyAagB0wGkAeIB7gHi + A/oBwgG5AbcBvwG6AbkBrwGsAasC4gHhIQABtwHJAd0BwQHfAewBvAHVAeUB2QHtAfUBowHaAfEBnwHX + AfABnwHXAfEBnwHXAfEBnwHXAfEBnwHYAfEBnwHXAfEBnwHXAfEBnwHXAfEBnwHXAfEBnwHXAfEBnwHX + AfEBnwHYAfEBnwHXAfEBnwHXAfEBnwHXAfABnwHYAfEBnwHXAfEBlQHJAeIBowG0AckC9QH2A/shAAb8 + MPcG6QEvAi4BLwIuMAAJ6QMAA+kwAAP6A/MD6wPvAfMC8gP2A/QB8QLwD/EB1AHcAdEBPAHIATwBYgHr + AWID+gG1AaQBoQG6AawBqQHCAboBuQGvAasBqQHAAr0D+BsAAbgByQHdAdcB7QH0AbABywHdAdUB6wH1 + AcYB5wH0AaMB2gHxAaQB2gHzAaMB2gHxAaMB2gHxAaMB2gHxAaMB2gHxAaMB2gHxAaMB2gHzAaMB2gHx + AaMB2gHxAaMB2gHxAaQB2gHyAaMB2gHxAaMB2gHxAaQB2gHyAaMB2gHzAaQB2gHyAaMB2gHxAYIBowHC + Ad0B4wHnA/chAAb8MPcG6QEvAi4BLwIuMAAJ6TMAA/UE8gLxAfAC7wHuAu0C7wHuAfAC7wHxAvAB8QLw + D/EB4wHlAeEBagHVAWkBtwHqAbcD+gHGAbkBuAG5AakBpQG1AaQBoQG8AbABrgG6AbMBsgGnAaMBogPh + GAABuQHKAd4B1wHuAfUBsQHWAecBuQHUAeQB2QHtAfUBsAHfAfQBpwHcAfMBqAHcAfIBpwHcAfIBqAHc + AfIBqAHcAfIBpwHcAfIBpwHcAfMBpwHcAfIBpwHcAfMBpwHcAfMBqAHcAfMBpwHcAfIBqAHcAfIBpwHc + AfIBpwHcAfMBqAHcAfMBpwHcAfIBnwHTAeoBjwGnAcIB8gHzAfQhAAb9BvoD+QP6DPkS+Ab3Buk2AAnp + MwAD6QP8AdgB0wHSAewC6gHuAu0C7wHuAfAC7wHxAvAB8QLwD/EE9QL0A/kD/AHtAesB6gHWAc0BzAHC + AbQBsgG3AaYBowG2AaYBowG9AbIBsAGyAasBqQG9AroD+BIAAboBywHgAdMB7QH1AbQB3wHuAbEBzAHc + AdEB6wH1Ac8B6QH1AasB3QHzAasB3QHzAasB3gH0AasB3QHzAasB3QHzAasB3QHzAasB3QHzAasB3gH0 + AasB3gH0AasB3QHzAasB3QHzAasB3QHzAasB3QHzAasB3QHzAasB3QHzAasB3QHzAasB3QHzAasB3QHz + AY0BsQLLAdUB3AH2AvcD/AP+GAAG/Qb6A/kD+gz5EvgG9wbpNgAJ6TMAA+kD+wHbAdgB1wHsAuoB7gLt + Au8B7gHwAu8B8QLwAfEC8AbxAe0C7AHnAeUB5AHoAeYB5QP5A/wD+QHyAvAB+AL3AfgC9wHnAeMB4gHQ + AcYBxAG+Aa8BrAG1AaQBoQG4AakBpgG4Aa4BrAGmAaABnwHhAuAPAAG6AcwB4AHcAfAB9QHGAekB9AGw + AdYB5gG2AdAB4AHYAe0B9QG5AeIB9AGvAd8B9AGvAd8B9AGuAd4B8wGuAd4B8wGuAd4B8wGvAd8B9AGv + Ad8B9AGvAd8B9AGuAd4B8wGvAd8B9AGvAd8B9AGvAd8B9AGvAd8B9AGvAd8B9AGvAd8B9AGvAd8B9AGv + Ad8B9AGrAdwB8QGGAaIBwAHxAvID+QP9GAAG/gP8EvsP+gz5Bus2AAnpMwAD6QP6AdYB0QHQAewC6gHu + Au0C7wHuAewB6wHqAecB5gLlAeMB4gHoAeYB5QHqAugB9ALzAfsC+gP8AfsC+gP5AfgC9wH2AvUB8wLy + AfMC8QP5AfUC9AHhAdsB2gHLAb8BvQG7AasBqAG1AaQBoQG4AaoBpwGvAaYBpAG9ArgD/QkAAbwBzgHi + AeEB8QH2AcwB7AH0AbMB3gHtAbIBzAHbAc0B6QH0AdUB7AH1AbEB4AH0AbEB4AH0AbEB4AH0AbEB4AH0 + AbAB3wH0AbAB3wH0AbEB4AH0AbEB4AH0AbAB3wH0AbEB4AH0AbEB4AH0AbEB4AH0AbAB3wH0AbEB4AH0 + AbAB3wH0AbEB4AH0AbAB3wH0AbEB4AH0AZwBwwHcAbkBxgHUA/cD/Ab+EgAG/gP8EvsP+gz5Bus2AAnp + MwAD6QP7AdoB1gHVAd8B3AHbAecC5AHvAu0B9ALzA/gD/gT9AfwB/QH8AvsB+gL5AfgC9wH2AvUB8wLx + Ae8D7ALpAfEC7wH0AvMB8gLxAfQC8wH6AvkB8QHwAe8B2gHTAdEBxQG4AbYBuQGoAaUBtgGlAaIBrwGi + AZ8BngGZAZgD5QYAAb0BzwHjAeIB8gH2AcwB7AH1Ab0B5wH0AbEB2AHoAbAB0QHkAdUB7AH1AcEB5QH0 + AbMB4AHzAbEB4AH0AbMB4AHzAbEB4AH0AbEB4AH0AbIB4AHzAbEB4AH0AbMB4AHzAbEB4AH0AbIB4AHz + AbIB4AHzAbEB4AH0AbMB4AHzAbIB4AHzAbEB4AH0AbEB3wH0AbIB4AHzAbIB4AHzAYgBpQHFAeoB7AHu + A/gG/RIABv4G/AP7A/wY+wz6Buw2AAnpMwAD8QP6BP4C/QH+C/0B+QL4A/oB/QL8A/kE9wL2AfQC8wHx + Au8B7QLrAeMB3wHeAdsB1QHUAdoC1QHiAuEB6gLoAfIC8AH2AvUD+QHsAukB1AHMAcoBwQGzAbEBtgGl + AaIBmwGOAYsD1wPyAwABvQHQAeQB4wHyAfYBzgHsAfUBwQHqAfQBtgHfAe4BrwHWAekBxwHkAfQB2AHt + AfUBtAHgAfQBswHgAfMBswHgAfMBswHgAfMBswHgAfMBswHgAfMBswHgAfMBswHgAfMBswHgAfMBswHg + AfMBswHgAfMBswHgAfMBswHgAfMBswHgAfMBswHgAfMBswHgAfMBswHgAfMBswHgAfMBrgHWAeoBpAG3 + AcsD9QP6A/0SAAb+BvwD+wP8GPsM+gbsMAAD6QMACekDAAPpLQAD/AP1Ae8C7gH2AfUB9gH7AvoG/QH3 + AvYB7gLsA/wG/QT8BfsD+gH5A/gD9wP2AvUB8wLyAesB6gHpAesC6gH0A/IC8AH4AvcB+AL3AeYC4QHO + AcQBwgGaAYoBhgP3A/sDAAG+AdIB5QHiAfIB9gHRAe0B9QHFAeoB9AG/AecB8wGwAd0B7QGrAdAB5gHS + AesB9QHHAecB9AGzAeAB8wGzAeAB8wGzAeAB8wGzAeAB8wGzAeAB8wGzAeAB8wGzAeAB8wGzAeAB8wGz + AeAB8wGzAeAB8wGzAeAB8wGzAeAB8wGzAeAB8wGzAeAB8wGzAeAB8wGzAeAB8wGzAeAB8wGzAeAB8wGI + AaoBzQHVAd0B4wP4FQAG/gb8A/sD/Bj7DPoG7DYACek5AAP+A/sB9ALzAfIC8QH3AvYB+gH5AfoD+AP+ + Bv0D/AP7A/oE+QL4AvcC9gP1A/QC8gHzAvIB9QL0AfgC9wH2AvUB8wLxAfMC8gP5AfQC8wHJAb8BvQkA + Ab8B0gHmAeMB8gH2AdQB7gH1AcgB6wH0AcEB6gH0AboB4wHxAawB2gHsAcwB4QHxAdYB6wH1AdwB7gH1 + AdwB7gH1AdwB7gH1AdwB7gH1AdwB7gH1AdwB7gH1AdwB7gH1AdwB7gH1AdwB7gH1AdwB7gH1AdwB7gH1 + AdwB7gH1AdwB7gH1AdwB7gH1AdwB7gH1AdwB7gH1AdwB7gH1AdwB7gH1Ab0B3AHsAYMBqgHLA/kVAAb+ + BvwD+wP8GPsM+gbsJwAD6QMAG+kDAAPpMwAD/gP5A/IB8wLyA/gD/AP9A/wG+wT6A/kC+AH6AvkB+gL5 + A/sB/AX7A/oB+QL4AfcC9gHxAvAB6gLoAewC6AH5AvgJAAHAAdQB5wHlAfMB9wHWAe8B9QHVAe4B9QHH + AesB9AHOAewB9QHRAe0B9QHJAecB9AHJAdsB7QHJAdsB7QHJAdsB7QHHAdoB7QHHAdoB7QHGAdoB7QHE + AdkB7AHCAdgB7AHBAdgB7QHAAdcB7AG/AdcB7AG+AdcB7AG9AdYB7AG2AdEB7AG2AdEB7AG2AdEB7AG2 + AdEB7AGsAcoB5wGjAcMB4QGbAb0B3wGPAboB4wP9FQAG/gb9A/wD/Qz8DPsS7ioAA+kDABXpAwAD6T8A + A/0D+AHxAvAB9QL0A/kB/QH8E/0B/AL7AfoC+QH3AvYB9AHyAfMB7wLtAegC5gHrAukB8QLwA/oMAAHB + AdUB6QHlAfMB9gHXAe8B9QHXAe8B9QHXAe8B9QHWAe4B9QHRAe0B9QHOAewB9QHHAeoB9AHAAegB9AG7 + AecB9AG2AeYB9AGyAeUB8wGsAeUB8wGpAeMB9AGsAeQB8wGrAeQB9AGnAeMB8wGoAeMB9AGkAeAB8wGk + Ad4B8AGhAdsB8AGcAb0B2AP4A/0kAAb+Bv0D/AP9DPwM+xLuLQAD6QMAD+kDAAPpSwAD/AH3AfYB9wHx + AvAB9AHzAvQB8wL0AfMC9AHzAfQB8QPwAe4B7wHzAfIB8wH0AfMB9AP4A/oD/BgAAcIB1gHpAeUB8wH2 + AdkB8AH1AdcB7wH1AdcB7wH1AdcB7wH1AdUB7gH1AdIB7QH1AcwB7AH1AccB6wH0AcEB6QH0AcAB6QH0 + AcoB7AH0AcgB6wH0AcQB6gH0AcIB6gH0Ab8B6QH0AcEB6QH0Ab0B5gH0Ab4B5wH0Ab0B5gH0AboB5AH0 + AY8BrwHTA/sD/iQACf4P/Qz8GAABLwIuAS8CLioAA+kDAAnpAwAD6VcAAf0C/AH9AvwB/QL8A/4tAAHE + AdcB6gHmAfMB9wHXAfAB9QHXAe8B9QHYAfAB9QHaAfAB9QHYAe8B9QHVAe4B9QHRAe0B9QHNAewB9AHO + AewB9QHXAe0B9QHKAeEB8gG+AdcB7AG+AdcB7AG9AdYB7AG9AdYB7AG9AdYB7AG6AdQB6wG2AdEB6wG0 + Ac8B6QGyAdAB6wHLAeEB7QP8JwAJ/g/9DPwYAAEvAi4BLwIuLQAD6QMAA+kDAAPpkwABxAHYAesB4gHx + AfYB3gHxAfYB1wHvAfUB2gHwAfUB3QHxAfYB2gHwAfUB1wHvAfUB0gHuAfUB0QHtAfUB2QHtAfUBywHe + Ae8B7gHyAfUD/hgAA/4wAAb+A/0D/hL9BgAG9QbYCVUB8wLyMAAD6QMAA+mWAAHuAfIB9gHKAd4B7gHk + AfIB9gHnAfMB9wHoAfQB9wHoAfQB9wHpAfQB9wHnAfMB9wHhAfIB9gHeAe8B9gHMAeAB8AHlAewB8gP9 + DwAD/jwABv4D/QP+Ev0GAAP1A9kD2AlVAfMC8gHzAvIzAAPpnAAB5wHuAfUByQHbAe0ByQHbAe0ByAHb + Ae0ByAHbAe0BxwHbAe0BxgHaAe0BxQHZAe0BxAHZAe0B7AHwAfUD/lQAFf4G/QYABtkJVQHzAvIC8wHy + A/z/AAP+RQAV/gb9BgAD2QlVAfMC8gHzAvIG/P8AXQAG/gYACVUC8wHyAvMB8gn8/wBdAAb+BgAGVQLz + AfIC8wHyDPz/AGMAATgCNwE4AjcDVQLzAfIC8wHyD/z/AGMAATgCNwE4AjcC8wHyAvMB8hL8DAABQgFN + AT4HAAE+AwABKAMAAYADAAFAAwABAQEAAQEGAAEEFgAD//8A/wADAFj/AcACAAb/AeABAAX/AYACAAF/ + AfACAAEPAf8B4AEABf8BgAIAAT8B8AIAAQ8B/wHgAQAC/wHgAR8B/wGAAgABHwHwAgABDwH/AeABAAH/ + Af4BAAEHAf8BgAIAAR8B8AIAAQ8B/wHgAQAB/wHgAQABAwH/AYACAAEfAfACAAEPAf8B4AF/Af8BgAIA + Af8BgAIAAR8B8AIAAQ8B/wHgAv8DAAF/AYACAAEfAfACAAEPAf8B4AL/AwABHwGAAgABAwHwAgABDwH/ + AeAC/wMAAQ8BgAIAAQMB8AIAAQ8B/wHgAv8DAAEDAYADAAHwAgABDwH/AeAC/wMAAQEBgAMAAfACAAEP + Af8B4AL/BAABgAMAAfACAAEPAf8BwAF/Af8EAAGAAgABAQHwAgABDwH+AQABDwH/AcACAAEDAYACAAEB + AfACAAEPAf4BAAEPAf8B+AIAAQMBgAIAAQEB8AIAAQ8B/wEAAR8C/wIAAQcBgAIAAT8B8AIAAQ8B/wGA + AT8C/wHgAQABfwGAAgABPwHwAgABDwH/AcABfwL/AfwBPwH/AYACAAF/AfACAAEPAf8B4Ab/AYABAQH+ + Af8B8wIAAQ8B/wHxBv8BgAEDAe8B/wHzAgABDwH/AfsG/wHAAQcC/wHzAYABAAEPCv8BvwH/AfMBgAEA + AQ8M/wHzAf8BAAEPDP8B8wH/AQABDwz/AfACAAEPDP8B8AIAAQ8L + + + + 35 + + \ No newline at end of file diff --git a/FlatParts.vb b/FlatParts.vb new file mode 100644 index 0000000..0114699 --- /dev/null +++ b/FlatParts.vb @@ -0,0 +1,185 @@ + +Imports System.IO +Imports TestEIn.EgtInterface +Imports TestEIn.Scene + +Public Class FlatParts + + ' Properties + Private m_sCurrDir As String = String.Empty + Private m_sCurrFile As String = String.Empty + + Private Sub FlatParts_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load + ' imposto colore di default + Dim DefColor As New Color3d(0, 0, 0) + GetPrivateProfileColor(S_GEOMDB, K_DEFAULTCOLOR, DefColor, Form1.GetIniFile()) + Scene2.SetDefaultMaterial(DefColor) + ' imposto colori sfondo + Dim BackTopColor As New Color3d(192, 192, 192) + GetPrivateProfileColor(S_SCENE, K_BACKTOP, BackTopColor, Form1.GetIniFile()) + Dim BackBotColor As New Color3d(BackTopColor) + GetPrivateProfileColor(S_SCENE, K_BACKBOTTOM, BackBotColor, Form1.GetIniFile()) + Scene2.SetViewBackground(BackTopColor, BackBotColor) + ' imposto colore di evidenziazione + Dim MarkColor As New Color3d(255, 255, 0) + GetPrivateProfileColor(S_SCENE, K_MARK, MarkColor, Form1.GetIniFile()) + Scene2.SetMarkMaterial(MarkColor) + ' imposto colore per superfici selezionate + Dim SelSurfColor As New Color3d(255, 255, 192) + GetPrivateProfileColor(S_SCENE, K_SELSURF, SelSurfColor, Form1.GetIniFile()) + Scene2.SetSelSurfMaterial(SelSurfColor) + ' imposto tipo e colore del rettangolo di zoom + Dim bOutline As Boolean = True + Dim ZwColor As New Color3d(0, 0, 0) + GetPrivateProfileZoomWin(S_SCENE, K_ZOOMWIN, bOutline, ZwColor, Form1.GetIniFile()) + Scene2.SetZoomWinAttribs(bOutline, ZwColor) + ' imposto colore della linea di distanza + Dim DstLnColor As New Color3d(255, 0, 0) + GetPrivateProfileColor(S_SCENE, K_DISTLINE, DstLnColor, Form1.GetIniFile()) + Scene2.SetDistLineMaterial(DstLnColor) + ' imposto parametri OpenGL + Dim nDriver As Integer = GetPrivateProfileInt(S_OPENGL, K_DRIVER, 3, Form1.GetIniFile()) + Dim b2Buff As Boolean = (GetPrivateProfileInt(S_OPENGL, K_DOUBLEBUFFER, 1, Form1.GetIniFile()) <> 0) + Dim nColorBits As Integer = GetPrivateProfileInt(S_OPENGL, K_COLORBITS, 32, Form1.GetIniFile()) + Dim nDepthBits As Integer = GetPrivateProfileInt(S_OPENGL, K_DEPTHBITS, 32, Form1.GetIniFile()) + Scene2.SetViewAttributes(nDriver, b2Buff, nColorBits, nDepthBits) + ' inizializzo la scena (DB geometrico + visualizzazione) + Scene2.Init() + ' assegno posizione e dimensioni finestra + Dim nFlag As Integer + Dim nLeft As Integer + Dim nTop As Integer + Dim nWidth As Integer + Dim nHeight As Integer + GetPrivateProfileWinPos(S_FLATPARTS, K_FLPWINPLACE, nFlag, nLeft, nTop, nWidth, nHeight, Form1.GetIniFile()) + Me.StartPosition = System.Windows.Forms.FormStartPosition.Manual + Me.Location = New Point(nLeft, nTop) + Me.Size = New Size(nWidth, nHeight) + WindowState = If(nFlag = 1, FormWindowState.Maximized, FormWindowState.Normal) + ' leggo direttorio corrente + GetPrivateProfileString(S_FLATPARTS, K_FLPCURRDIR, "", m_sCurrDir, Form1.GetIniFile()) + ' lo carico + LoadCurrDir() + ' imposto misura su mm + rbMm.Select() + End Sub + + Private Sub FlatParts_FormClosing(sender As System.Object, e As FormClosingEventArgs) Handles MyBase.FormClosing + ' Salvo posizione finestra + Dim nFlag As Integer = If(Me.WindowState = FormWindowState.Maximized, 1, 0) + WritePrivateProfileWinPos(S_FLATPARTS, K_FLPWINPLACE, nFlag, Me.Left, Me.Top, Me.Width, Me.Height, Form1.GetIniFile()) + ' Salvo direttorio corrente + WritePrivateProfileString(S_FLATPARTS, K_FLPCURRDIR, m_sCurrDir, Form1.GetIniFile()) + ' Termino la scena (DB geometrico + visualizzazione) + Scene2.Terminate() + End Sub + + Private Sub FlatParts_KeyDown(ByVal sender As System.Object, ByVal e As KeyEventArgs) Handles Me.KeyDown + If e.KeyData = Keys.Escape Then + Me.DialogResult = System.Windows.Forms.DialogResult.Cancel + Me.Close() + End If + End Sub + + Private Sub ListView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged + ' Recupero item selezionato + Dim vItems As ListView.SelectedListViewItemCollection = ListView1.SelectedItems + If vItems.Count() = 0 Then + Return + End If + ' A seconda del tipo + Select Case vItems(0).ImageIndex + Case 0 ' Vai nel direttorio padre + m_sCurrDir = IO.Path.GetDirectoryName(m_sCurrDir) + m_sCurrFile = "" + LoadCurrDir() + Case 1 ' Vai nella radice del disco + m_sCurrDir = vItems(0).Text + m_sCurrFile = "" + LoadCurrDir() + Case 2 ' Vai nel sottodirettorio + m_sCurrDir = IO.Path.Combine(m_sCurrDir, vItems(0).Text) + m_sCurrFile = "" + LoadCurrDir() + Case 3 ' File + m_sCurrFile = vItems(0).Text + LoadCurrFile() + End Select + End Sub + + Private Sub rbMm_CheckedChanged(sender As Object, e As EventArgs) Handles rbMm.CheckedChanged + If Not String.IsNullOrWhiteSpace(m_sCurrFile) Then + LoadCurrFile() + End If + End Sub + + Private Function LoadCurrDir() As Boolean + ' se direttorio corrente non valido, carico l'elenco dei dischi + If String.IsNullOrWhiteSpace(m_sCurrDir) OrElse Not IO.Directory.Exists(m_sCurrDir) Then + Return LoadDisks() + End If + ' lo visualizzo + tbCurrDir.Text = m_sCurrDir + ' pulisco la lista + ListView1.Clear() + ' per risalire al direttorio padre + ListView1.Items.Add("..", 0) + ' elenco dei sottodirettori + Dim DirInfo As New DirectoryInfo(m_sCurrDir) + Dim vDirI As DirectoryInfo() = DirInfo.GetDirectories("*") + Dim DirI As DirectoryInfo + For Each DirI In vDirI + ListView1.Items.Add(DirI.Name, 2) + Next + ' elenco dei file + Dim vFileI As FileInfo() = DirInfo.GetFiles("*.dxf") + Dim FileI As FileInfo + For Each FileI In vFileI + ListView1.Items.Add(FileI.Name, 3) + Next + ' pulisco la vista + ClearView() + Return True + End Function + + Private Function LoadDisks() As Boolean + ' dir corrente vuoto + m_sCurrDir = "" + ' lo visualizzo + tbCurrDir.Text = m_sCurrDir + ' pulisco la lista + ListView1.Clear() + ' elenco dei dischi + Dim vDriI As DriveInfo() = DriveInfo.GetDrives() + Dim DriI As DriveInfo + For Each DriI In vDriI + ListView1.Items.Add(DriI.Name, 1) + Next + ' pulisco la vista + ClearView() + Return True + End Function + + Private Function ClearView() As Boolean + ' Pulisco il DB geometrico locale + EgtNewFile() + ' Eseguo zoom + Scene2.ZoomAll() + Return True + End Function + + Private Function LoadCurrFile() As Boolean + ' Pulisco il DB geometrico locale + EgtNewFile() + ' Costruisco path completa del componente + Dim sPath = IO.Path.Combine(m_sCurrDir, m_sCurrFile) + ' recupero unità di misura del file + Dim dScale As Double = If(rbMm.Checked(), ONEMM, ONEINCH) + ' Importo file DXF + Dim bOk As Boolean = EgtImportDxf(sPath, dScale) + ' Eseguo zoom + Scene2.ZoomAll() + Return bOk + End Function + +End Class \ No newline at end of file diff --git a/Form1.Designer.vb b/Form1.Designer.vb index c16daa3..401fb58 100644 --- a/Form1.Designer.vb +++ b/Form1.Designer.vb @@ -133,7 +133,9 @@ Partial Class Form1 Me.btnMirror = New System.Windows.Forms.Button() Me.btnRotate = New System.Windows.Forms.Button() Me.btnMove = New System.Windows.Forms.Button() - Me.TabTest = New System.Windows.Forms.TabPage() + Me.TabSpecial = New System.Windows.Forms.TabPage() + Me.btnFlatParts = New System.Windows.Forms.Button() + Me.btnCompo = New System.Windows.Forms.Button() Me.StatusStrip1 = New System.Windows.Forms.StatusStrip() Me.tsStatusOnL = New System.Windows.Forms.ToolStripStatusLabel() Me.tsStatusOutput = New System.Windows.Forms.ToolStripStatusLabel() @@ -183,7 +185,6 @@ Partial Class Form1 Me.MruSFile6 = New System.Windows.Forms.ToolStripMenuItem() Me.MruSFile7 = New System.Windows.Forms.ToolStripMenuItem() Me.MruSFile8 = New System.Windows.Forms.ToolStripMenuItem() - Me.btnCompo = New System.Windows.Forms.Button() Me.TableLayoutPanel1.SuspendLayout() Me.TabControl1.SuspendLayout() Me.TabFile.SuspendLayout() @@ -202,7 +203,7 @@ Partial Class Form1 Me.TabConstruct.SuspendLayout() Me.TabEdit.SuspendLayout() Me.TabTransform.SuspendLayout() - Me.TabTest.SuspendLayout() + Me.TabSpecial.SuspendLayout() Me.StatusStrip1.SuspendLayout() Me.ContextMenuTreeView1.SuspendLayout() Me.ContextMenuMruFiles.SuspendLayout() @@ -1331,7 +1332,7 @@ Partial Class Form1 Me.TabControl2.Controls.Add(Me.TabConstruct) Me.TabControl2.Controls.Add(Me.TabEdit) Me.TabControl2.Controls.Add(Me.TabTransform) - Me.TabControl2.Controls.Add(Me.TabTest) + Me.TabControl2.Controls.Add(Me.TabSpecial) Me.TabControl2.Dock = System.Windows.Forms.DockStyle.Fill Me.TabControl2.HotTrack = True Me.TabControl2.Location = New System.Drawing.Point(0, 82) @@ -2002,16 +2003,53 @@ Partial Class Form1 Me.btnMove.TextAlign = System.Drawing.ContentAlignment.BottomCenter Me.btnMove.UseVisualStyleBackColor = False ' - 'TabTest + 'TabSpecial ' - Me.TabTest.BackColor = System.Drawing.SystemColors.Control - Me.TabTest.Controls.Add(Me.btnCompo) - Me.TabTest.Location = New System.Drawing.Point(23, 4) - Me.TabTest.Name = "TabTest" - Me.TabTest.Padding = New System.Windows.Forms.Padding(3) - Me.TabTest.Size = New System.Drawing.Size(62, 529) - Me.TabTest.TabIndex = 1 - Me.TabTest.Text = "Test" + Me.TabSpecial.BackColor = System.Drawing.SystemColors.Control + Me.TabSpecial.Controls.Add(Me.btnFlatParts) + Me.TabSpecial.Controls.Add(Me.btnCompo) + Me.TabSpecial.Location = New System.Drawing.Point(23, 4) + Me.TabSpecial.Name = "TabSpecial" + Me.TabSpecial.Padding = New System.Windows.Forms.Padding(3) + Me.TabSpecial.Size = New System.Drawing.Size(62, 529) + Me.TabSpecial.TabIndex = 1 + Me.TabSpecial.Text = "Special" + ' + 'btnFlatParts + ' + Me.btnFlatParts.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control + Me.btnFlatParts.FlatAppearance.BorderSize = 0 + Me.btnFlatParts.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control + Me.btnFlatParts.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption + Me.btnFlatParts.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnFlatParts.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.btnFlatParts.Image = CType(resources.GetObject("btnFlatParts.Image"), System.Drawing.Image) + Me.btnFlatParts.ImageAlign = System.Drawing.ContentAlignment.TopCenter + Me.btnFlatParts.Location = New System.Drawing.Point(0, 0) + Me.btnFlatParts.Name = "btnFlatParts" + Me.btnFlatParts.Size = New System.Drawing.Size(56, 48) + Me.btnFlatParts.TabIndex = 47 + Me.btnFlatParts.Text = "FlatParts" + Me.btnFlatParts.TextAlign = System.Drawing.ContentAlignment.BottomCenter + Me.btnFlatParts.UseVisualStyleBackColor = False + ' + 'btnCompo + ' + Me.btnCompo.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control + Me.btnCompo.FlatAppearance.BorderSize = 0 + Me.btnCompo.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control + Me.btnCompo.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption + Me.btnCompo.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnCompo.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.btnCompo.Image = CType(resources.GetObject("btnCompo.Image"), System.Drawing.Image) + Me.btnCompo.ImageAlign = System.Drawing.ContentAlignment.TopCenter + Me.btnCompo.Location = New System.Drawing.Point(0, 48) + Me.btnCompo.Name = "btnCompo" + Me.btnCompo.Size = New System.Drawing.Size(56, 48) + Me.btnCompo.TabIndex = 46 + Me.btnCompo.Text = "Compo" + Me.btnCompo.TextAlign = System.Drawing.ContentAlignment.BottomCenter + Me.btnCompo.UseVisualStyleBackColor = False ' 'StatusStrip1 ' @@ -2375,24 +2413,6 @@ Partial Class Form1 Me.MruSFile8.Size = New System.Drawing.Size(160, 22) Me.MruSFile8.Text = "File8" ' - 'btnCompo - ' - Me.btnCompo.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control - Me.btnCompo.FlatAppearance.BorderSize = 0 - Me.btnCompo.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control - Me.btnCompo.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption - Me.btnCompo.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.btnCompo.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.btnCompo.Image = CType(resources.GetObject("btnCompo.Image"), System.Drawing.Image) - Me.btnCompo.ImageAlign = System.Drawing.ContentAlignment.TopCenter - Me.btnCompo.Location = New System.Drawing.Point(3, 2) - Me.btnCompo.Name = "btnCompo" - Me.btnCompo.Size = New System.Drawing.Size(56, 48) - Me.btnCompo.TabIndex = 46 - Me.btnCompo.Text = "Compo" - Me.btnCompo.TextAlign = System.Drawing.ContentAlignment.BottomCenter - Me.btnCompo.UseVisualStyleBackColor = False - ' 'Form1 ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -2410,7 +2430,7 @@ Partial Class Form1 Me.Name = "Form1" Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide Me.StartPosition = System.Windows.Forms.FormStartPosition.Manual - Me.Text = "Egaltech Interface Prova 1" + Me.Text = "Egaltech Interface Test" Me.TableLayoutPanel1.ResumeLayout(False) Me.TableLayoutPanel1.PerformLayout() Me.TabControl1.ResumeLayout(False) @@ -2433,7 +2453,7 @@ Partial Class Form1 Me.TabConstruct.ResumeLayout(False) Me.TabEdit.ResumeLayout(False) Me.TabTransform.ResumeLayout(False) - Me.TabTest.ResumeLayout(False) + Me.TabSpecial.ResumeLayout(False) Me.StatusStrip1.ResumeLayout(False) Me.StatusStrip1.PerformLayout() Me.ContextMenuTreeView1.ResumeLayout(False) @@ -2456,7 +2476,7 @@ End Sub Friend WithEvents TableLayoutPanel3 As System.Windows.Forms.TableLayoutPanel Friend WithEvents TabControl2 As System.Windows.Forms.TabControl Friend WithEvents TabDraw As System.Windows.Forms.TabPage - Friend WithEvents TabTest As System.Windows.Forms.TabPage + Friend WithEvents TabSpecial As System.Windows.Forms.TabPage Friend WithEvents TabControl1 As System.Windows.Forms.TabControl Friend WithEvents TabFile As System.Windows.Forms.TabPage Friend WithEvents btnSaveAs As System.Windows.Forms.Button @@ -2604,5 +2624,6 @@ End Sub Friend WithEvents btnExplodeSurf As System.Windows.Forms.Button Friend WithEvents cmdSavePartLay As System.Windows.Forms.ToolStripMenuItem Friend WithEvents btnCompo As System.Windows.Forms.Button + Friend WithEvents btnFlatParts As System.Windows.Forms.Button End Class diff --git a/Form1.resx b/Form1.resx index 3c0e1e4..ffc8e5a 100644 --- a/Form1.resx +++ b/Form1.resx @@ -883,7 +883,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC2 - DQAAAk1TRnQBSQFMAgEBDgEAAcgBEAHIAhABAAEQAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA + DQAAAk1TRnQBSQFMAgEBDgEAAfABEAHwAhABAAEQAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA AUADAAFAAwABAQEAAQgGAAEQGAABgAIAAYADAAKAAQABgAMAAYABAAGAAQACgAIAA8ABAAHAAdwBwAEA AfABygGmAQABMwUAATMBAAEzAQABMwEAAjMCAAMWAQADHAEAAyIBAAMpAQADVQEAA00BAANCAQADOQEA AYABfAH/AQACUAH/AQABkwEAAdYBAAH/AewBzAEAAcYB1gHvAQAB1gLnAQABkAGpAa0CAAH/ATMDAAFm @@ -952,7 +952,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADW - CAAAAk1TRnQBSQFMAgEBAgEAAegBBwHoAQcBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + CAAAAk1TRnQBSQFMAgEBAgEAARABCAEQAQgBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA @@ -1476,6 +1476,16 @@ 2YdS/gEIUYjCPLwtix5CiFaQ2J+940IvOQgDzRJQlOAXbRneXwOKUvy6HRagMA8n768Bxa2U5rH2B55d AopbIFMypBP1twLFNbTMCSw+Pw6R+0rmRF0ks8f7CmFBNPhdWsYcxRDTJjFPKIWYttMHCBdJCCVzoi4o RCtI7JdvesFiCsLgcxpA0RIoWgJFS6BoCRQtgaIdbvgCS/kFfmOvgmgAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAHdElNRQffBw8VDyUTjmEPAAAAuElEQVRYR+3RQQ6DMAwE + QB7Qd/Zd/KOXnvupVK6EtBvWDVSwSSUOc1jLjo2YSildyaKTLDpxuD2eGexT1EyG5ihEw/y6r1RDSjpb + +9sDMs3ZGsx85ihsfWQx9AGRE7STQjTgIy3wGC5Y4NsZDjGoFmU2LvmGwxAH7ITzv5BFJw7iC89AOylE + g/rXR2oeYEA7MfTAQVx7BtpJIRrUfzvSdcB1wPgHGNBODD3IopMsOsmikyw6yaJPmd4I6JZXKtVydAAA + AABJRU5ErkJggg== diff --git a/Form1.vb b/Form1.vb index 69362e2..688da7b 100644 --- a/Form1.vb +++ b/Form1.vb @@ -214,9 +214,9 @@ Public Class Form1 AppendMenu(hSysMenu, MF_STRING, IDM_ABOUTBOX, "About TestEIn...") End If ' Visualizzo o nascondo TabTest - Dim bShowTabTest As Boolean = (GetPrivateProfileInt(S_TABTEST, K_SHOWTT, 0, m_sIniFile) <> 0) + Dim bShowTabTest As Boolean = (GetPrivateProfileInt(S_TABSPECIAL, K_TSSHOW, 0, m_sIniFile) <> 0) If Not bShowTabTest Then - TabControl2.TabPages.Remove(TabTest) + TabControl2.TabPages.Remove(TabSpecial) End If ' Posizione e dimensioni del Form If ModifierKeys <> Keys.Shift Then @@ -620,7 +620,6 @@ Public Class Form1 btnMergeSurf.Enabled = bSelOk btnExplodeSurf.Enabled = bSelOk btnInvertSurf.Enabled = bSelOk - btnCompo.Enabled = bLayerOk ' Edit btnDelete.Enabled = bSelOk btnChangeLayer.Enabled = bSelOk @@ -710,7 +709,6 @@ Public Class Form1 SetTextAndToolTip(btnMergeSurf, 413, 414) ' Merge / Merge Surfaces SetTextAndToolTip(btnExplodeSurf, 417, 418) ' Explode / Explode Surfaces SetTextAndToolTip(btnInvertSurf, 415, 416) ' Flip / Flip Surface Outside - SetTextAndToolTip(btnCompo, 419, 420) ' Compo / Insert Parametric Component ' Edit TabEdit.Text = EgtMsg(501) ' Edit SetTextAndToolTip(btnDelete, 503, 504) ' Delete Objects @@ -730,6 +728,10 @@ Public Class Form1 SetTextAndToolTip(btnMirror, 607, 608) ' Mirror / Object Mirror
3D Object Mirror (Shift) SetTextAndToolTip(btnScale, 609, 610) ' Scale / Object Scale
3D Object Scale (Shift) SetTextAndToolTip(btnOffset, 611, 612) ' Offset / Curve Offset + ' Special + TabSpecial.Text = EgtMsg(701) ' Special + SetTextAndToolTip(btnFlatParts, 703, 704) ' FlatParts / Insert Flat Parts from DXF or NGE + SetTextAndToolTip(btnCompo, 705, 706) ' Compo / Insert Parametric Component End Sub Private Sub SetTextAndToolTip(control As Control, nTxtMsg As Integer, nTtiMsg As Integer) @@ -1171,7 +1173,19 @@ Public Class Form1 m_Controller.ExecuteCommand(CMD.OFFSET) End Sub - ' ------ Test ------- + ' ------ Special ------- + Private Sub btnFlatParts_Click(sender As System.Object, e As System.EventArgs) Handles btnFlatParts.Click + ' lancio dialogo importazione pezzi 2d + Dim FlatPartsDlg As New FlatParts + FlatPartsDlg.ShowDialog() + ' ripristino contesto principale + EgtSetCurrentContext(Scene1.GetCtx()) + ' aggiorno interfaccia + EmitCurrPartLayer() + LoadObjTree() + EgtZoom(ZM.ALL) + End Sub + Private Sub btnCompo_Click(sender As System.Object, e As System.EventArgs) Handles btnCompo.Click ' lancio dialogo componenti Dim CompoDlg As New Component diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb index d0646a8..a793d00 100644 --- a/My Project/AssemblyInfo.vb +++ b/My Project/AssemblyInfo.vb @@ -46,5 +46,5 @@ Imports System.Runtime.InteropServices ' utilizzando l'asterisco (*) come descritto di seguito: ' - - + + diff --git a/Resources/FlDir.png b/Resources/FlDir.png new file mode 100644 index 0000000000000000000000000000000000000000..2c1339d04ed24a4dbbe8aeecdde99b279336a84f GIT binary patch literal 1292 zcmV+n1@roeP)H7$(J1j1ltl0mh9(YV}ujem zuqFUiOlCOXF?a-UBv>qtKn_C=$kEBh!a>S=0%Zab7K6v41ZpUTm;|AY>-&TkfIbna zt7?5!0BCvx;;bqhLX2RE@Hheyo)&~0hKM?yI3fa;fJZQZ4Gs-4t{MXgR=Ozzt-#`% z9;kW*Pnzoi!P5m)33!U+&YvP=N)`o-r2Z1I7y`yxB&70U9fBgZPV2q`48P0U0E0)R zZQj!+F)f{W@=tuc>mAjRYMKLegn-3hQ8o~0DNWHif18eIn5&N;W`T(6dX(LzOZ1*S z!!zyeqn$tofD}F8Fu0_QSzI7Lbp_e?JT*Ms#B5m)0B3%n_uLF$sbWRMn5+r}MNuq@ zo1P+Hnna#_gmIKAfu8j+J~T!&Jju;3uJWt3)PY>u2RuTQm0t}vHBB@INWFv(T|kb! z&M1NHl{y8dsF$XlY zPRK4NOCwBER085bO}009nL=@%{=p*CKpCj7`bG5Fn{srt#6AG6riv5AdV}lfKy4xI z5iBBgLlP-2ZiK=^WFSg2C2Z`*Bnj^4LHheHak^Ba1kA5Cjzv`wkqGDj+ThNlyGsf{ zH7mQis)n@yNEQyq`jKYMCRytPR__0r-3M^50sIXfKPV$j2v|t~00002W482)4l>_1<2HXBh@{1B1+K0Jhu50JM)De|k!9FGl`-MAb2QJ_q2T z*C}PYh=8g}FfOX9BI3qFeYXd%07%*=8Ie2*eOWdE7pajLPbV?cfQUpQ5(9}-%Z7KI ze3z)FITKA4-mdp)r9vx}xeY87zKO}O3&5biHx~h`JOX0N$WwpZrHh`KILj0m54)hk z;HI-00-*_j)JT-=0(-|!#j5=9stvnfG-EYAWu87etLcK0(U@l0G`8y~FfCpJ?3x}H ztjx=W+VC$4_!W!y?&E+!NbEkiKls%~wCvazsIm)+G^#BDXD%t&2`Nb+sV#w~=~gvU zW#58Y5pX-$PDOLQt|bAf?!TbyX)S-+UOxhxkI}}!zccU!RP%00000NkvXX Hu0mjf+&sXC literal 0 HcmV?d00001 diff --git a/Resources/FlHD.png b/Resources/FlHD.png new file mode 100644 index 0000000000000000000000000000000000000000..5c545f92f5c3f489e2066e790a9cb3f930edb30b GIT binary patch literal 1096 zcmV-O1h@N%P)#h90BVp>A1myL{>bJVqU$3v?un;_#TIY=BkZGH@1L47#i+OW20v<;$ydXCcfsqgGOQGmzD2YSFt zK+E~G=3P!l37L7oOm?XCj9fw~L8%a_BrO9*NcxpxrEXHG8FOWs>6F-mNf(`W(5oPh z-y%DI_b~w;BL#GTfk5jeR%4$RvK@Z*AliXc!m@%?L8xeHO{^7^iiXtWMuAcwH8>IA zDnY-giE{*yU(0__`66;|(1_Qri)oOonGO_9i|^jsDD1xbMKG^HD}+-y;~ zH-Sy8?IT10d5PH-5buIG2c!pQ0Kg$!_SjW0X^Jp0(gQnl0H|h%MzS$x+mTOhKs$wA zh%dX8c8Y2`n(9@m`V|n*;9L_-g_$PQ<2J6kjGcUWc$)(O1y1^ZS&8Z-g(L+as9OX< zoB8#Ka`RWh^^*ur;_L>}xmjF!6z=IR_1I#gHdI%!+2#M@F=_&9z&bG6PtO$e7|a;B z2WY(RI(7CQ$U9&@$5s!Y)^i-}SFknUrGsh)41i0(H;W(6f&~lyDZc@HJ+TFsn>U33 O0000<>&kwgT|j_~>-0=rL!i(CPZ!6Kh{JEEW^=U|@U)~i9lvz> zdUbET$TZj0rV}6KF)a*;diJ_m(#z?*QOP=%3U!8)8>J6u#T`;miOpkBW~lAc{r&w` zls{iW)beE=vp39s)X`+nUcu2~dGxNpnp8$l*^b=MGCR}5c@9F`*V!JtzAL@P;nE$W z`H>SC{xd%~+obqFpf%;H_dFJh%`Ya+zaZ)+e)#2?Ly~M0>?SbSb8cW@zBlRr?`2Jv QK({h@y85}Sb4q9e0B4_N761SM literal 0 HcmV?d00001 diff --git a/Resources/FlatParts.png b/Resources/FlatParts.png new file mode 100644 index 0000000000000000000000000000000000000000..e1307e3056355d1f6491a53e411d5449b969ac66 GIT binary patch literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzwj^(N7l!{JxM1({$v_d#0*}aI z1_r((Aj~*bn@<`j$X?><>&kwgonMq+Rk$yaA1KuC>Eaj?aX9(U|Nr)f9hlVG7}=QL zF^Hw`DZih`yhG&Q|2K~s&MVYZeVlo;NzuBsUa~FX+;NRXKF5|#Z-{Kx<~qTdl%j)?!lgo;EnB9{c(HI6^9f(>W&`m6#l(qB670K-ly+$>Q&ZThu`JO~ x(wBL0X2KRvvsVolPjwV-NjG`bAo!kvA=J?340mqIFQC&HJYD@<);T3K0RTaES6To7 literal 0 HcmV?d00001 diff --git a/TestEIn.vbproj b/TestEIn.vbproj index 98becb4..6143c26 100644 --- a/TestEIn.vbproj +++ b/TestEIn.vbproj @@ -175,6 +175,12 @@ + + FlatParts.vb + + + Form + True @@ -224,6 +230,9 @@ Form1.vb + + FlatParts.vb + VbMyResourcesResXFileCodeGenerator My.Resources @@ -526,6 +535,17 @@ + + + + + + + + + + + IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\TestEIn\TestEInR32.exe