From 1c389afc0da5c6cbf502c29c601d0ccad265dff7 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Wed, 22 Jul 2015 20:43:11 +0000 Subject: [PATCH] TestEIn 1.6g6 : - gestione mm/inch - migliorata UI componenti e Flat Parts Import. --- Component.Designer.vb | 7 +- Component.vb | 39 ++++++---- ConstIni.vb | 2 + Controller.vb | 145 ++++++++++++++++++++++--------------- EgtInterface.vb | 58 +++++++++++++++ FlatParts.Designer.vb | 9 ++- FlatParts.resx | 2 +- FlatParts.vb | 38 +++++++++- Form1.Designer.vb | 2 + Form1.resx | 15 ++-- Form1.vb | 64 +++++++++++----- My Project/AssemblyInfo.vb | 4 +- Scene.Designer.vb | 1 + Scene.vb | 37 +++++----- 14 files changed, 290 insertions(+), 133 deletions(-) diff --git a/Component.Designer.vb b/Component.Designer.vb index 4be5903..20d25bb 100644 --- a/Component.Designer.vb +++ b/Component.Designer.vb @@ -383,12 +383,15 @@ Partial Class Component ' 'tbMsg ' + Me.tbMsg.BackColor = System.Drawing.Color.White Me.TableLayoutPanel2.SetColumnSpan(Me.tbMsg, 5) Me.tbMsg.Dock = System.Windows.Forms.DockStyle.Fill - Me.tbMsg.Location = New System.Drawing.Point(3, 233) + Me.tbMsg.Font = New System.Drawing.Font("Microsoft Sans Serif", 11.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.tbMsg.Location = New System.Drawing.Point(0, 230) + Me.tbMsg.Margin = New System.Windows.Forms.Padding(0) Me.tbMsg.Name = "tbMsg" Me.tbMsg.ReadOnly = True - Me.tbMsg.Size = New System.Drawing.Size(532, 20) + Me.tbMsg.Size = New System.Drawing.Size(538, 24) Me.tbMsg.TabIndex = 22 ' 'btnInsert diff --git a/Component.vb b/Component.vb index 58c48a4..74df172 100644 --- a/Component.vb +++ b/Component.vb @@ -107,7 +107,7 @@ Public Class Component End If End Sub - Private Sub ListBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.Click + Private Sub ListBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged ' Recupero item selezionato Dim sCompo As String = ListBox1.SelectedItem.ToString() ' Carico componente @@ -130,6 +130,7 @@ Public Class Component EgtNewFile() End If tbMsg.Text = sMsg + tbMsg.BackColor = If(m_bDrawOk, Color.White, Color.Tomato) Scene2.ZoomAll() ' leggo variabili e aggiorno griglia ReadAndShowVariables() @@ -147,7 +148,9 @@ Public Class Component Dim sMsg As String = String.Empty MakePreview(sMsg) tbMsg.Text = sMsg + tbMsg.BackColor = If(m_bDrawOk, Color.White, Color.Tomato) ' aggiorno visualizzazione + EgtSetView(VT.TOP, False) EgtZoom(ZM.ALL) End Sub @@ -335,13 +338,15 @@ Public Class Component Public Overrides Function ToString() As String Select Case m_nType - Case 1 + Case 1 ' booleano Return m_bVal.ToString() - Case 2 + Case 2 ' intero Return m_nVal.ToString() - Case 3 - Return m_dVal.ToString(CultureInfo.InvariantCulture) - Case 4 + Case 3 ' lunghezza + Return EgtToUiUnits(m_dVal).ToString("F4", CultureInfo.InvariantCulture) + Case 4 ' double + Return m_dVal.ToString("F4", CultureInfo.InvariantCulture) + Case 5 ' stringa Return m_sVal End Select Return "" @@ -349,25 +354,31 @@ Public Class Component Public Function FromString(ByVal sVal As String) As Boolean Select Case m_nType - Case 1 + Case 1 ' booleano Dim bVal As Boolean = False If Boolean.TryParse(sVal, bVal) Then m_bVal = bVal Return True End If - Case 2 + Case 2 ' intero Dim dVal As Double If EgtLuaEvalNumExpr(sVal, dVal) Then m_nVal = CInt(dVal) Return True End If - Case 3 + Case 3 ' lunghezza + Dim dVal As Double + If EgtLuaEvalNumExpr(sVal, dVal) Then + m_dVal = EgtFromUiUnits(dVal) + Return True + End If + Case 4 ' double Dim dVal As Double If EgtLuaEvalNumExpr(sVal, dVal) Then m_dVal = dVal Return True End If - Case 4 + Case 5 'stringa m_sVal = sVal Return True End Select @@ -380,9 +391,9 @@ Public Class Component Return EgtLuaSetGlobBoolVar(LUA_VALUE & nInd.ToString(), m_bVal) Case 2 Return EgtLuaSetGlobIntVar(LUA_VALUE & nInd.ToString(), m_nVal) - Case 3 + Case 3, 4 Return EgtLuaSetGlobNumVar(LUA_VALUE & nInd.ToString(), m_dVal) - Case 4 + Case 5 Return EgtLuaSetGlobStringVar(LUA_VALUE & nInd.ToString(), m_sVal) End Select Return False @@ -397,9 +408,9 @@ Public Class Component Return bOk AndAlso EgtLuaGetGlobBoolVar(LUA_VALUE & nInd.ToString(), m_bVal) Case 2 Return bOk AndAlso EgtLuaGetGlobIntVar(LUA_VALUE & nInd.ToString(), m_nVal) - Case 3 + Case 3, 4 Return bOk AndAlso EgtLuaGetGlobNumVar(LUA_VALUE & nInd.ToString(), m_dVal) - Case 4 + Case 5 Return bOk AndAlso EgtLuaGetGlobStringVar(LUA_VALUE & nInd.ToString(), m_sVal) End Select Return False diff --git a/ConstIni.vb b/ConstIni.vb index 958e50e..f3798df 100644 --- a/ConstIni.vb +++ b/ConstIni.vb @@ -56,11 +56,13 @@ Public Const K_CURVEDIR As String = "CurveDir" Public Const K_SHOWTRIAADV As String = "ShowTriaAdv" Public Const K_ZOOMWIN As String = "ZoomWin" Public Const K_DISTLINE As String = "DistLine" +Public Const K_MMUNITS As String = "MmUnits" Public Const S_GRID As String = "Grid" Public Const K_SHOWGRID As String = "ShowGrid" Public Const K_SHOWFRAME As String = "ShowFrame" Public Const K_SNAPSTEP As String = "SnapStep" +Public Const K_SNAPSTEPINCH As String = "SnapStepInch" Public Const K_MINLINESSTEP As String = "MinLineSStep" Public Const K_MAJLINESSTEP As String = "MajLineSStep" Public Const K_EXTSSTEP As String = "ExtSStep" diff --git a/Controller.vb b/Controller.vb index 1f9e583..f4e7f60 100644 --- a/Controller.vb +++ b/Controller.vb @@ -179,9 +179,19 @@ Public Class Controller ' Costanti Private LEN_STD As Double = 100 + Private LEN_STD_INCH As Double = 101.6 Private DIAM_STD As Double = 20 + Private DIAM_STD_INCH As Double = 25.4 + Private FILLET_STD As Double = 10 + Private FILLET_STD_INCH As Double = 12.7 + Private CHAMFER_STD As Double = 10 + Private CHAMFER_STD_INCH As Double = 12.7 + Private TEXT_H_STD As Double = 10 + Private TEXT_H_STD_INCH As Double = 12.7 Private EXTRUDE_STD As Double = 20 + Private EXTRUDE_STD_INCH As Double = 25.4 Private EXTEND_STD As Double = 50 + Private EXTEND_STD_INCH As Double = 50.8 Private EXTEND_ADD As Double = 10 Private EXTEND_BIG_ADD As Double = 200 Private OFFSET_STD As Double = 0 @@ -624,8 +634,10 @@ Public Class Controller SetInputBoxPoint3d(m_ptLast) Case IBT.TY_VECTOR3D SetInputBoxVector3d(m_vtLast) - Case IBT.TY_DIRECTION, IBT.TY_LENGTH, IBT.TY_SPECIALDOUBLE + Case IBT.TY_DIRECTION SetInputBoxDouble(m_dLast) + Case IBT.TY_LENGTH, IBT.TY_SPECIALDOUBLE + SetInputBoxDouble(m_dLast, True) Case IBT.TY_DOUBLE_OR_POINT3d SetInputBoxDouble(m_dLast) End Select @@ -647,7 +659,6 @@ Public Class Controller Select Case m_nInpType Case IBT.TY_VECTOR3D m_vtLast = m_ptLast - m_ptP1 - 'm_vtLast.Normalize() Case IBT.TY_DIRECTION m_dLast = GridAngFromGlobDir(m_ptLast - m_ptP1) m_dAux = GridLenFromGlobLen(m_ptLast - m_ptP1) @@ -697,17 +708,18 @@ Public Class Controller End If End Function - Private Sub SetInputBoxDouble(ByVal dVal As Double) - Dim sText As String = DoubleToString(dVal, 4) + Private Sub SetInputBoxDouble(ByVal dVal As Double, Optional ByVal bUiScale As Boolean = False) + Dim dTmp As Double = If(bUiScale, EgtToUiUnits(dVal), dVal) + Dim sText As String = DoubleToString(dTmp, 4) RaiseEvent SetInputBoxText(sText) End Sub Private Sub SetInputBox3Double(ByVal d3Val() As Double) - ' verifico ci siano almeno 3 elementi nell'array + ' verifico ci siano almeno 3 elementi nell'array If d3Val.Length < 3 Then Return End If - ' visualizzo + ' visualizzo (senza scalare per UI perchè non sono punti o vettori) Dim sText As New StringBuilder(128) sText.Append(DoubleToString(d3Val(0), 4)) sText.Append(",") @@ -722,11 +734,11 @@ Public Class Controller ptVal = ptVal.Loc(GDB_ID.GRID) ' visualizzo Dim sText As New StringBuilder(128) - sText.Append(DoubleToString(ptVal.x, 4)) + sText.Append(DoubleToString(EgtToUiUnits(ptVal.x), 4)) sText.Append(",") - sText.Append(DoubleToString(ptVal.y, 4)) + sText.Append(DoubleToString(EgtToUiUnits(ptVal.y), 4)) sText.Append(",") - sText.Append(DoubleToString(ptVal.z, 4)) + sText.Append(DoubleToString(EgtToUiUnits(ptVal.z), 4)) RaiseEvent SetInputBoxText(sText.ToString()) End Sub @@ -735,11 +747,11 @@ Public Class Controller vtVal = vtVal.Loc(GDB_ID.GRID) ' visualizzo Dim sText As New StringBuilder(128) - sText.Append(DoubleToString(vtVal.x, 6)) + sText.Append(DoubleToString(EgtToUiUnits(vtVal.x), 6)) sText.Append(",") - sText.Append(DoubleToString(vtVal.y, 6)) + sText.Append(DoubleToString(EgtToUiUnits(vtVal.y), 6)) sText.Append(",") - sText.Append(DoubleToString(vtVal.z, 6)) + sText.Append(DoubleToString(EgtToUiUnits(vtVal.z), 6)) RaiseEvent SetInputBoxText(sText.ToString()) End Sub @@ -752,13 +764,25 @@ Public Class Controller Return True Case IBT.TY_INTEGER Return TextToInteger(sText, m_nLast) - Case IBT.TY_DOUBLE, IBT.TY_DIRECTION, IBT.TY_LENGTH, IBT.TY_SPECIALDOUBLE + Case IBT.TY_DOUBLE, IBT.TY_DIRECTION Return TextToDouble(sText, m_dLast) + Case IBT.TY_LENGTH, IBT.TY_SPECIALDOUBLE + Dim dVal As Double + If TextToDouble(sText, dVal) Then + m_dLast = EgtFromUiUnits(dVal) + Return True + Else + Return False + End If Case IBT.TY_3DOUBLE Return TextTo3Double(sText, m_d3Last) Case IBT.TY_POINT3D Dim d3Val(3) As Double If TextTo3Double(sText, d3Val) Then + ' converto da unità di misura in UI a unità standard + d3Val(0) = EgtFromUiUnits(d3Val(0)) + d3Val(1) = EgtFromUiUnits(d3Val(1)) + d3Val(2) = EgtFromUiUnits(d3Val(2)) ' converto da riferimento griglia a globale m_ptLast = New Point3d(d3Val(0), d3Val(1), d3Val(2)).Glob(GDB_ID.GRID) Return True @@ -766,6 +790,10 @@ Public Class Controller Case IBT.TY_VECTOR3D Dim d3Val(3) As Double If TextTo3Double(sText, d3Val) Then + ' converto da unità di misura in UI a unità standard + d3Val(0) = EgtFromUiUnits(d3Val(0)) + d3Val(1) = EgtFromUiUnits(d3Val(1)) + d3Val(2) = EgtFromUiUnits(d3Val(2)) ' converto da riferimento griglia a globale m_vtLast = New Vector3d(d3Val(0), d3Val(1), d3Val(2)).Glob(GDB_ID.GRID) Return True @@ -774,6 +802,10 @@ Public Class Controller Dim d3Val(3) As Double If TextTo3Double(sText, d3Val) Then m_bPnt3dVsDbl = True + ' converto da unità di misura in UI a unità standard + d3Val(0) = EgtFromUiUnits(d3Val(0)) + d3Val(1) = EgtFromUiUnits(d3Val(1)) + d3Val(2) = EgtFromUiUnits(d3Val(2)) ' converto da riferimento griglia a globale m_ptLast = New Point3d(d3Val(0), d3Val(1), d3Val(2)).Glob(GDB_ID.GRID) Return True @@ -806,23 +838,13 @@ Public Class Controller End If ' leggo i tre valori Dim sItems() As String = sText.Split(",".ToCharArray) - Dim bOk As Boolean = False - d3Val(0) = 0 - d3Val(1) = 0 - d3Val(2) = 0 - If sItems.Count() >= 1 Then - bOk = EgtLuaEvalNumExpr(sItems(0), d3Val(0)) - If sItems.Count() >= 2 Then - bOk = EgtLuaEvalNumExpr(sItems(1), d3Val(1)) And bOk - If sItems.Count() >= 3 Then - bOk = EgtLuaEvalNumExpr(sItems(2), d3Val(2)) And bOk - Else - bOk = False - End If - Else + Dim bOk As Boolean = True + For i As Integer = 0 To 2 + d3Val(i) = 0 + If sItems.Length <= i OrElse Not EgtLuaEvalNumExpr(sItems(i), d3Val(i)) Then bOk = False End If - End If + Next Return bOk End Function @@ -1274,7 +1296,9 @@ Public Class Controller ' abilito dialogo m_Scene.SetStatusNull() RaiseEvent PrepareInputBox("GRID", "Insert Elevation", "", False, False) - m_nInpType = IBT.TY_DOUBLE + m_nInpType = IBT.TY_LENGTH + m_dLast = 0 + SetInputBoxDouble(m_dLast, True) Case 1 ' recupero il piano di griglia corrente Dim frCurr As New Frame3d(EgtGetGridFrame()) @@ -2304,7 +2328,7 @@ Public Class Controller Case 1 m_ptP1 = m_ptLast m_vtLast = m_vtCont - m_dAux = LEN_STD + m_dAux = If(EgtUiUnitsAreMM(), LEN_STD, LEN_STD_INCH) ' posso prendere punto per definire direzione, ma non prendo direzione notevole m_Scene.SetStatusSelPoint(False) m_nStep = 2 @@ -2325,7 +2349,7 @@ Public Class Controller EgtUnselectableRemove(m_Scene.GetDragGroup()) RaiseEvent PrepareInputBox("LINE PDL", "Insert Length", "", False, True) m_nInpType = IBT.TY_LENGTH - SetInputBoxDouble(m_dLast) + SetInputBoxDouble(m_dLast, True) EgtDisableModified() DragLinePDL() EgtEnableModified() @@ -2395,7 +2419,7 @@ Public Class Controller Case 1 m_ptP1 = m_ptLast m_vtLast = m_vtCont - m_dAux = LEN_STD + m_dAux = If(EgtUiUnitsAreMM(), LEN_STD, LEN_STD_INCH) ' posso prendere punto per definire direzione, ma non prendo direzione notevole m_Scene.SetStatusSelPoint(False) m_nStep = 2 @@ -2413,7 +2437,7 @@ Public Class Controller EgtUnselectableRemove(m_Scene.GetDragGroup()) RaiseEvent PrepareInputBox("LINE PVL", "Insert Length", "", False, True) m_nInpType = IBT.TY_LENGTH - SetInputBoxDouble(m_dLast) + SetInputBoxDouble(m_dLast, True) EgtDisableModified() DragLinePVL() EgtEnableModified() @@ -2537,13 +2561,13 @@ Public Class Controller m_nInpType = IBT.TY_POINT3D Case 1 m_ptP1 = m_ptLast - m_dLast = DIAM_STD m_nStep = 2 m_Scene.SetStatusNull() m_Scene.DisableDrag() RaiseEvent PrepareInputBox("CIRCLE CD", "Insert Diameter", "", False, True) - m_nInpType = IBT.TY_DOUBLE - SetInputBoxDouble(m_dLast) + m_nInpType = IBT.TY_LENGTH + m_dLast = If(EgtUiUnitsAreMM(), DIAM_STD, DIAM_STD_INCH) + SetInputBoxDouble(m_dLast, True) EgtDisableModified() DragCircleCD() EgtEnableModified() @@ -2759,7 +2783,7 @@ Public Class Controller Case 1 m_ptP1 = m_ptLast m_vtLast = m_vtCont - m_dAux = LEN_STD + m_dAux = If(EgtUiUnitsAreMM(), LEN_STD, LEN_STD_INCH) m_Scene.SetStatusSelPoint(False) m_nStep = 2 m_Scene.DisableDrag() @@ -2882,7 +2906,7 @@ Public Class Controller Case 1 m_ptP1 = m_ptLast m_vtLast = m_vtCont - m_dAux = LEN_STD + m_dAux = If(EgtUiUnitsAreMM(), LEN_STD, LEN_STD_INCH) m_Scene.SetStatusSelPoint(False) m_nStep = 2 m_Scene.DisableDrag() @@ -2958,8 +2982,9 @@ Public Class Controller ' abilito dialogo RaiseEvent PrepareInputBox("FILLET", "Insert Radius", "Trim", False, True) RaiseEvent SetInputBoxCheck(True) - m_nInpType = IBT.TY_DOUBLE - SetInputBoxDouble(10) + m_nInpType = IBT.TY_LENGTH + m_dLast = If(EgtUiUnitsAreMM, FILLET_STD, FILLET_STD_INCH) + SetInputBoxDouble(m_dLast, True) Case 1 ' reset scena m_Scene.ResetStatus(False) @@ -3010,8 +3035,9 @@ Public Class Controller ' abilito dialogo RaiseEvent PrepareInputBox("CHAMFER", "Insert distance", "Trim", False, True) RaiseEvent SetInputBoxCheck(True) - m_nInpType = IBT.TY_DOUBLE - SetInputBoxDouble(10) + m_nInpType = IBT.TY_LENGTH + m_dLast = If(EgtUiUnitsAreMM, CHAMFER_STD, CHAMFER_STD_INCH) + SetInputBoxDouble(m_dLast, True) Case 1 ' reset scena m_Scene.ResetStatus(False) @@ -3258,8 +3284,9 @@ Public Class Controller m_nStep = 3 m_Scene.SetStatusNull() RaiseEvent PrepareInputBox("TEXT", "Insert Height", "", False, True) - m_nInpType = IBT.TY_DOUBLE - SetInputBoxDouble(10) + m_nInpType = IBT.TY_LENGTH + m_dLast = If(EgtUiUnitsAreMM(), TEXT_H_STD, TEXT_H_STD_INCH) + SetInputBoxDouble(m_dLast, True) Case 3 ' reset scena m_Scene.ResetStatus(False) @@ -3335,9 +3362,9 @@ Public Class Controller m_nStep = 4 m_Scene.SetStatusNull() RaiseEvent PrepareInputBox("TEXT+", "Insert Height", "Italic", True, True) - m_nInpType = IBT.TY_DOUBLE - m_dLast = 10 - SetInputBoxDouble(m_dLast) + m_nInpType = IBT.TY_LENGTH + m_dLast = If(EgtUiUnitsAreMM(), TEXT_H_STD, TEXT_H_STD_INCH) + SetInputBoxDouble(m_dLast, True) m_bLast = False RaiseEvent SetInputBoxCheck(m_bLast) LoadFonts() @@ -3462,13 +3489,13 @@ Public Class Controller End If ' imposto stato a lunghezza di estrusione m_nStep = 1 - m_dLast = EXTRUDE_STD m_Scene.SetStatusNull() ' abilito dialogo RaiseEvent PrepareInputBox("EXTRUSION", "Insert length", "CapEnds", False, True) RaiseEvent SetInputBoxCheck(False) - m_nInpType = IBT.TY_DOUBLE - SetInputBoxDouble(m_dLast) + m_nInpType = IBT.TY_LENGTH + m_dLast = If(EgtUiUnitsAreMM(), EXTRUDE_STD, EXTRUDE_STD_INCH) + SetInputBoxDouble(m_dLast, True) EgtDisableModified() DragExtrude() EgtEnableModified() @@ -3614,23 +3641,23 @@ Public Class Controller m_nInpType = IBT.TY_POINT3D Case 2 m_ptP2 = m_ptLast - m_dLast = 360 m_nStep = 3 m_Scene.SetStatusNull() m_Scene.DisableDrag() RaiseEvent PrepareInputBox("SCREW", "Insert Angle", "", False, True) m_nInpType = IBT.TY_DOUBLE + m_dLast = 360 SetInputBoxDouble(m_dLast) Case 3 m_ptP2 = m_ptLast m_dPrev = m_dLast - m_dLast = 0 m_nStep = 4 m_Scene.SetStatusNull() m_Scene.DisableDrag() RaiseEvent PrepareInputBox("SCREW", "Insert Move", "", False, True) - m_nInpType = IBT.TY_DOUBLE - SetInputBoxDouble(m_dLast) + m_nInpType = IBT.TY_LENGTH + m_dLast = 0 + SetInputBoxDouble(m_dLast, True) Case 4 ' reset scena m_Scene.ResetStatus(False) @@ -3946,7 +3973,7 @@ Public Class Controller m_Scene.SetDragIntersForSelPoint(True) ' imposto stato a lunghezza di estensione m_nStep = 1 - m_dLast = EXTEND_STD + m_dLast = If(EgtUiUnitsAreMM(), EXTEND_STD, EXTEND_STD_INCH) ' recupero dati estremo più vicino a punto di selezione per permettere drag lunghezza con mouse m_Scene.SetStatusSelPoint(False) Dim nId As Integer = EgtGetLastSelectedObj() @@ -3968,7 +3995,7 @@ Public Class Controller ' abilito dialogo RaiseEvent PrepareInputBox("EXTEND", "Insert Length", "", False, True) m_nInpType = IBT.TY_SPECIALDOUBLE - SetInputBoxDouble(m_dLast) + SetInputBoxDouble(m_dLast, True) EgtDisableModified() DragExtendCurve() EgtEnableModified() @@ -4190,11 +4217,11 @@ Public Class Controller m_Scene.SetStatusNull() ' abilito dialogo RaiseEvent PrepareInputBox("CURVE THICKNESS", "Insert Thickness", "Extraction from CPlane", False, True) - m_nInpType = IBT.TY_DOUBLE + m_nInpType = IBT.TY_LENGTH ' recupero spessore dell'ultima entità selezionata Dim dThick As Double If EgtCurveThickness(EgtGetLastSelectedObj(), dThick) Then - SetInputBoxDouble(dThick) + SetInputBoxDouble(dThick, True) End If RaiseEvent SetInputBoxCheck(False) Case 1 @@ -4886,7 +4913,7 @@ Public Class Controller ' abilito dialogo "OFFSET", "Insert Distance", "Copy" RaiseEvent PrepareInputBox(EgtMsg(2436), EgtMsg(2437), EgtMsg(2001), True, True) m_nInpType = IBT.TY_SPECIALDOUBLE - SetInputBoxDouble(m_dLast) + SetInputBoxDouble(m_dLast, True) RaiseEvent SetInputBoxCheck(True) RaiseEvent AddInputBoxCombo(EgtMsg(2438), True) ' Fillet RaiseEvent AddInputBoxCombo(EgtMsg(2439), False) ' Chamfer diff --git a/EgtInterface.vb b/EgtInterface.vb index b73a368..cb48e22 100644 --- a/EgtInterface.vb +++ b/EgtInterface.vb @@ -813,6 +813,64 @@ Public Function EgtOutLog(ByVal sMsg As String) As Boolean End Function +'---------- UiUnits ------------------------------------------------------------ + +Private Function EgtSetUiUnits_32(ByVal bMM As Boolean) As Boolean +End Function + +Private Function EgtSetUiUnits_64(ByVal bMM As Boolean) As Boolean +End Function +Public Function EgtSetUiUnits(ByVal bMM As Boolean) As Boolean + If IntPtr.Size = 4 Then + Return EgtSetUiUnits_32(bMM) + Else + Return EgtSetUiUnits_64(bMM) + End If +End Function + + +Private Function EgtUiUnitsAreMM_32() As Boolean +End Function + +Private Function EgtUiUnitsAreMM_64() As Boolean +End Function +Public Function EgtUiUnitsAreMM() As Boolean + If IntPtr.Size = 4 Then + Return EgtUiUnitsAreMM_32() + Else + Return EgtUiUnitsAreMM_64() + End If +End Function + + +Private Function EgtFromUiUnits_32(ByVal dVal As Double) As Double +End Function + +Private Function EgtFromUiUnits_64(ByVal dVal As Double) As Double +End Function +Public Function EgtFromUiUnits(ByVal dVal As Double) As Double + If IntPtr.Size = 4 Then + Return EgtFromUiUnits_32(dVal) + Else + Return EgtFromUiUnits_64(dVal) + End If +End Function + + +Private Function EgtToUiUnits_32(ByVal dVal As Double) As Double +End Function + +Private Function EgtToUiUnits_64(ByVal dVal As Double) As Double +End Function +Public Function EgtToUiUnits(ByVal dVal As Double) As Double + If IntPtr.Size = 4 Then + Return EgtToUiUnits_32(dVal) + Else + Return EgtToUiUnits_64(dVal) + End If +End Function + + '---------- GeomDb ------------------------------------------------------------- Private Function EgtInitContext_32() As Integer diff --git a/FlatParts.Designer.vb b/FlatParts.Designer.vb index b95cc78..ccc733b 100644 --- a/FlatParts.Designer.vb +++ b/FlatParts.Designer.vb @@ -51,8 +51,8 @@ Partial Class FlatParts 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.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 69.0821228!)) + Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 30.9178791!)) Me.TableLayoutPanel1.Size = New System.Drawing.Size(744, 414) Me.TableLayoutPanel1.TabIndex = 0 ' @@ -81,9 +81,11 @@ Partial Class FlatParts ' 'ListView1 ' + Me.ListView1.Activation = System.Windows.Forms.ItemActivation.OneClick 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.FullRowSelect = True + Me.ListView1.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None Me.ListView1.HideSelection = False Me.ListView1.LabelWrap = False Me.ListView1.Location = New System.Drawing.Point(3, 29) @@ -162,6 +164,7 @@ Partial Class FlatParts Me.MinimumSize = New System.Drawing.Size(760, 453) Me.Name = "FlatParts" Me.ShowIcon = False + Me.ShowInTaskbar = False Me.TableLayoutPanel1.ResumeLayout(False) Me.TableLayoutPanel1.PerformLayout() Me.TableLayoutPanel2.ResumeLayout(False) diff --git a/FlatParts.resx b/FlatParts.resx index 7064713..84e37bb 100644 --- a/FlatParts.resx +++ b/FlatParts.resx @@ -125,7 +125,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACy - FQAAAk1TRnQBSQFMAgEBBAEAAZgBAAGYAQABIAEAASABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAGA + FQAAAk1TRnQBSQFMAgEBBAEAAbgBAAG4AQABIAEAASABAAT/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 diff --git a/FlatParts.vb b/FlatParts.vb index 0114699..019fd32 100644 --- a/FlatParts.vb +++ b/FlatParts.vb @@ -60,8 +60,12 @@ Public Class FlatParts GetPrivateProfileString(S_FLATPARTS, K_FLPCURRDIR, "", m_sCurrDir, Form1.GetIniFile()) ' lo carico LoadCurrDir() - ' imposto misura su mm - rbMm.Select() + ' imposto misura + If EgtUiUnitsAreMM() Then + rbMm.Select() + Else + rbInch.Select() + End If End Sub Private Sub FlatParts_FormClosing(sender As System.Object, e As FormClosingEventArgs) Handles MyBase.FormClosing @@ -82,6 +86,19 @@ Public Class FlatParts 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 + ' Gestisco solo aggiornamento visualizzazione file + If vItems(0).ImageIndex = 3 Then + m_sCurrFile = vItems(0).Text + LoadCurrFile() + End If + End Sub + + Private Sub ListView1_ItemActivate(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.ItemActivate ' Recupero item selezionato Dim vItems As ListView.SelectedListViewItemCollection = ListView1.SelectedItems If vItems.Count() = 0 Then @@ -93,17 +110,22 @@ Public Class FlatParts m_sCurrDir = IO.Path.GetDirectoryName(m_sCurrDir) m_sCurrFile = "" LoadCurrDir() + ListView1.Items(0).Selected = True + ListView1.Items(0).Focused = True Case 1 ' Vai nella radice del disco m_sCurrDir = vItems(0).Text m_sCurrFile = "" LoadCurrDir() + ListView1.Items(0).Selected = True + ListView1.Items(0).Focused = True Case 2 ' Vai nel sottodirettorio m_sCurrDir = IO.Path.Combine(m_sCurrDir, vItems(0).Text) m_sCurrFile = "" LoadCurrDir() + ListView1.Items(0).Selected = True + ListView1.Items(0).Focused = True Case 3 ' File - m_sCurrFile = vItems(0).Text - LoadCurrFile() + ' Viene gestito dalla SelectedIndexChanged End Select End Sub @@ -120,6 +142,8 @@ Public Class FlatParts End If ' lo visualizzo tbCurrDir.Text = m_sCurrDir + ' Inizio aggiornamento lista + ListView1.BeginUpdate() ' pulisco la lista ListView1.Clear() ' per risalire al direttorio padre @@ -137,6 +161,8 @@ Public Class FlatParts For Each FileI In vFileI ListView1.Items.Add(FileI.Name, 3) Next + ' Fine aggiornamento lista + ListView1.EndUpdate() ' pulisco la vista ClearView() Return True @@ -147,6 +173,8 @@ Public Class FlatParts m_sCurrDir = "" ' lo visualizzo tbCurrDir.Text = m_sCurrDir + ' Inizio aggiornamento lista + ListView1.BeginUpdate() ' pulisco la lista ListView1.Clear() ' elenco dei dischi @@ -155,6 +183,8 @@ Public Class FlatParts For Each DriI In vDriI ListView1.Items.Add(DriI.Name, 1) Next + ' Fine aggiornamento lista + ListView1.EndUpdate() ' pulisco la vista ClearView() Return True diff --git a/Form1.Designer.vb b/Form1.Designer.vb index 401fb58..a130a18 100644 --- a/Form1.Designer.vb +++ b/Form1.Designer.vb @@ -2138,9 +2138,11 @@ Partial Class Form1 ' 'tsStatusUnits ' + Me.tsStatusUnits.AutoSize = False Me.tsStatusUnits.BorderSides = CType((((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Top) _ Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Right) _ Or System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom), System.Windows.Forms.ToolStripStatusLabelBorderSides) + Me.tsStatusUnits.BorderStyle = System.Windows.Forms.Border3DStyle.Raised Me.tsStatusUnits.Margin = New System.Windows.Forms.Padding(1, 3, 0, 2) Me.tsStatusUnits.Name = "tsStatusUnits" Me.tsStatusUnits.Size = New System.Drawing.Size(33, 17) diff --git a/Form1.resx b/Form1.resx index ffc8e5a..713a2cb 100644 --- a/Form1.resx +++ b/Form1.resx @@ -883,7 +883,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC2 - DQAAAk1TRnQBSQFMAgEBDgEAAfABEAHwAhABAAEQAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA + DQAAAk1TRnQBSQFMAgEBDgIAAREBAAERARABAAEQAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA AUADAAFAAwABAQEAAQgGAAEQGAABgAIAAYADAAKAAQABgAMAAYABAAGAAQACgAIAA8ABAAHAAdwBwAEA AfABygGmAQABMwUAATMBAAEzAQABMwEAAjMCAAMWAQADHAEAAyIBAAMpAQADVQEAA00BAANCAQADOQEA AYABfAH/AQACUAH/AQABkwEAAdYBAAH/AewBzAEAAcYB1gHvAQAB1gLnAQABkAGpAa0CAAH/ATMDAAFm @@ -952,7 +952,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADW - CAAAAk1TRnQBSQFMAgEBAgEAARABCAEQAQgBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + CAAAAk1TRnQBSQFMAgEBAgEAASABCAEgAQgBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA @@ -1480,12 +1480,11 @@ - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAHdElNRQffBw8VDyUTjmEPAAAAuElEQVRYR+3RQQ6DMAwE - QB7Qd/Zd/KOXnvupVK6EtBvWDVSwSSUOc1jLjo2YSildyaKTLDpxuD2eGexT1EyG5ihEw/y6r1RDSjpb - +9sDMs3ZGsx85ihsfWQx9AGRE7STQjTgIy3wGC5Y4NsZDjGoFmU2LvmGwxAH7ITzv5BFJw7iC89AOylE - g/rXR2oeYEA7MfTAQVx7BtpJIRrUfzvSdcB1wPgHGNBODD3IopMsOsmikyw6yaJPmd4I6JZXKtVydAAA - AABJRU5ErkJggg== + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + xAAADsQBlSsOGwAAAAd0SU1FB98HDxUPJROOYQ8AAAC4SURBVFhH7dFBDoMwDARAHtB39l38o5ee+6lU + roS0G9YNVLBJJQ5zWMuOjZhKKV3JopMsOnG4PZ4Z7FPUTIbmKETD/LqvVENKOlv72wMyzdkazHzmKGx9 + ZDH0AZETtJNCNOAjLfAYLljg2xkOMagWZTYu+YbDEAfshPO/kEUnDuILz0A7KUSD+tdHah5gQDsx9MBB + XHsG2kkhGtR/O9J1wHXA+AcY0E4MPciikyw6yaKTLDrJok+Z3gjollcq1XJ0AAAAAElFTkSuQmCC diff --git a/Form1.vb b/Form1.vb index 688da7b..4cb59fc 100644 --- a/Form1.vb +++ b/Form1.vb @@ -36,6 +36,7 @@ Public Class Form1 Private m_bShowGrid As Boolean Private m_bShowGridFrame As Boolean Private m_bCPlaneTypePos As Boolean + Private m_bMmUnits As Boolean Private WithEvents m_Controller As New Controller Private m_MruFiles As New MruList Private m_MruScripts As New MruList @@ -167,24 +168,18 @@ Public Class Form1 Scene1.Init() ' inizializzo gestore lavorazioni EgtInitMachMgr(m_sMachinesRoot) + ' imposto unità di misura per interfaccia utente + m_bMmUnits = (GetPrivateProfileInt(S_SCENE, K_MMUNITS, 1, m_sIniFile) <> 0) + UpdateStatusUnits() ' imposto visualizzazione riferimento globale Dim bShowGlobFrame As Boolean = (GetPrivateProfileInt(S_SCENE, K_SHOWGFRAME, 1, m_sIniFile) <> 0) EgtSetGlobFrameShow(bShowGlobFrame) ' imposto i dati della griglia + LoadGridData() + ' imposto stato di visualizzazione della griglia m_bShowGrid = (GetPrivateProfileInt(S_GRID, K_SHOWGRID, 1, m_sIniFile) <> 0) m_bShowGridFrame = (GetPrivateProfileInt(S_GRID, K_SHOWFRAME, 1, m_sIniFile) <> 0) - Dim dSnapStep As Double = GetPrivateProfileDouble(S_GRID, K_SNAPSTEP, 10, m_sIniFile) - Dim nMinLineSStep As Integer = GetPrivateProfileInt(S_GRID, K_MINLINESSTEP, 1, m_sIniFile) - Dim nMajLineSStep As Integer = GetPrivateProfileInt(S_GRID, K_MAJLINESSTEP, 10, m_sIniFile) - Dim nExtSStep As Integer = GetPrivateProfileInt(S_GRID, K_EXTSSTEP, 50, m_sIniFile) - Dim MinLnColor As New Color3d(160, 160, 160) - GetPrivateProfileColor(S_GRID, K_MINLNCOLOR, MinLnColor, m_sIniFile) - Dim MajLnColor As New Color3d(160, 160, 160) - GetPrivateProfileColor(S_GRID, K_MAJLNCOLOR, MajLnColor, m_sIniFile) - EgtSetGridShow(m_bShowGrid, m_bShowGridFrame) - EgtSetGridFrame(Frame3d.GLOB) - EgtSetGridGeo(dSnapStep, nMinLineSStep, nMajLineSStep, nExtSStep) - EgtSetGridColor(MinLnColor, MajLnColor) + UpdateStatusGrid() ' imposto tipo coordinate m_bCPlaneTypePos = True Scene1.SetGridCursorPos(m_bCPlaneTypePos) @@ -256,6 +251,20 @@ Public Class Form1 SetMessages() End Sub + Private Sub LoadGridData() + Dim dSnapStep As Double = GetPrivateProfileDouble(S_GRID, If(m_bMmUnits, K_SNAPSTEP, K_SNAPSTEPINCH), 10, m_sIniFile) + Dim nMinLineSStep As Integer = GetPrivateProfileInt(S_GRID, K_MINLINESSTEP, 1, m_sIniFile) + Dim nMajLineSStep As Integer = GetPrivateProfileInt(S_GRID, K_MAJLINESSTEP, 10, m_sIniFile) + Dim nExtSStep As Integer = GetPrivateProfileInt(S_GRID, K_EXTSSTEP, 50, m_sIniFile) + Dim MinLnColor As New Color3d(160, 160, 160) + GetPrivateProfileColor(S_GRID, K_MINLNCOLOR, MinLnColor, m_sIniFile) + Dim MajLnColor As New Color3d(160, 160, 160) + GetPrivateProfileColor(S_GRID, K_MAJLNCOLOR, MajLnColor, m_sIniFile) + EgtSetGridFrame(Frame3d.GLOB) + EgtSetGridGeo(dSnapStep, nMinLineSStep, nMajLineSStep, nExtSStep) + EgtSetGridColor(MinLnColor, MajLnColor) + End Sub + Private Sub ManageIstance() Dim bCreated As Boolean Try @@ -374,6 +383,10 @@ Public Class Form1 WritePrivateProfileString(S_SCENE, K_SHOWMODE, EgtGetShowMode(), m_sIniFile) ' Salvo stato visualizzazione direzione curve WritePrivateProfileString(S_SCENE, K_CURVEDIR, If(EgtGetShowCurveDirection(), 1, 0), m_sIniFile) + ' Salvo stato visualizzazione griglia + WritePrivateProfileString(S_GRID, K_SHOWGRID, If(m_bShowGrid, 1, 0), m_sIniFile) + ' Salvo stato unità di misura per interfaccia utente + WritePrivateProfileString(S_SCENE, K_MMUNITS, If(m_bMmUnits, 1, 0), m_sIniFile) ' Salvo posizione Form Dim nFlag As Integer = If(Me.WindowState = FormWindowState.Maximized, 1, 0) WritePrivateProfileWinPos(S_GENERAL, K_WINPLACE, nFlag, Me.Left, Me.Top, Me.Width, Me.Height, m_sIniFile) @@ -1758,17 +1771,16 @@ Public Class Form1 Private Sub ToolStripStatusGrid_Click() Handles tsStatusGrid.Click m_bShowGrid = Not m_bShowGrid - If m_bShowGrid Then - tsStatusGrid.ForeColor = Color.Black - tsStatusGrid.Text = "GRID ON " - Else - tsStatusGrid.ForeColor = Color.LightGray - tsStatusGrid.Text = "GRID OFF" - End If - EgtSetGridShow(m_bShowGrid, m_bShowGrid And m_bShowGridFrame) + UpdateStatusGrid() EgtDraw() End Sub + Private Sub UpdateStatusGrid() + tsStatusGrid.ForeColor = If(m_bShowGrid, Color.Black, Color.Gray) + tsStatusGrid.Text = If(m_bShowGrid, "GRID ON ", "GRID OFF") + EgtSetGridShow(m_bShowGrid, m_bShowGrid And m_bShowGridFrame) + End Sub + Private Sub ToolStripStatusTypePos_Click() Handles tsStatusCurPosType.Click m_bCPlaneTypePos = Not m_bCPlaneTypePos If m_bCPlaneTypePos Then @@ -1779,6 +1791,18 @@ Public Class Form1 Scene1.SetGridCursorPos(m_bCPlaneTypePos) End Sub + Private Sub ToolStripStatusUnits_Click() Handles tsStatusUnits.Click + m_bMmUnits = Not m_bMmUnits + UpdateStatusUnits() + LoadGridData() + EgtDraw() + End Sub + + Private Sub UpdateStatusUnits() + tsStatusUnits.Text = If(m_bMmUnits, "mm", "in") + EgtSetUiUnits(m_bMmUnits) + End Sub + '-------------------------------- MRU Files Menu ------------------------------------------------- Private Sub ShowMenuMruFiles(ByVal control As Control, ByVal Pos As Point) diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb index a793d00..ffac04e 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/Scene.Designer.vb b/Scene.Designer.vb index 6864354..677f42d 100644 --- a/Scene.Designer.vb +++ b/Scene.Designer.vb @@ -55,6 +55,7 @@ Partial Class Scene ' Me.MenuScene.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cmdSelectAll, Me.cmdDeselectAll, Me.sepSel1, Me.cmdWinSelect, Me.cmdSelectPart, Me.cmdSelectLayer, Me.cmdSelectPath, Me.cmdSelectPathAuto, Me.cmdRestartDrag, Me.cmdSketchPoint, Me.cmdGridPoint, Me.cmdEndPoint, Me.cmdMidPoint, Me.cmdCenterPoint, Me.cmdCentroid, Me.cmdNearPoint, Me.cmdIntersectionPoint, Me.cmdTangentPoint, Me.cmdPerpendicularPoint, Me.cmdMinDistPoint, Me.sepSelPnt1, Me.cmdExcludeSurfForSnap, Me.sepSelPnt2, Me.cmdStopDrag}) Me.MenuScene.Name = "ContextMenuStrip1" + Me.MenuScene.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional Me.MenuScene.ShowCheckMargin = True Me.MenuScene.ShowImageMargin = False Me.MenuScene.Size = New System.Drawing.Size(193, 506) diff --git a/Scene.vb b/Scene.vb index 5ffa899..9f9a6e1 100644 --- a/Scene.vb +++ b/Scene.vb @@ -305,13 +305,13 @@ Public Class Scene End If Dim sOut As New System.Text.StringBuilder sOut.Append(EgtMsg(1301)) ' Dist= - sOut.Append(vtDist.Len().ToString("F4", CultureInfo.InvariantCulture)) + sOut.Append(EgtToUiUnits(vtDist.Len()).ToString("F4", CultureInfo.InvariantCulture)) sOut.Append(" dX=") - sOut.Append(vtDist.x.ToString("F4", CultureInfo.InvariantCulture)) + sOut.Append(EgtToUiUnits(vtDist.x).ToString("F4", CultureInfo.InvariantCulture)) sOut.Append(" dY=") - sOut.Append(vtDist.y.ToString("F4", CultureInfo.InvariantCulture)) + sOut.Append(EgtToUiUnits(vtDist.y).ToString("F4", CultureInfo.InvariantCulture)) sOut.Append(" dZ=") - sOut.Append(vtDist.z.ToString("F4", CultureInfo.InvariantCulture)) + sOut.Append(EgtToUiUnits(vtDist.z).ToString("F4", CultureInfo.InvariantCulture)) ' lancio l'evento per visualizzare la distanza RaiseEvent OnShowDistance(Me, sOut.ToString()) m_nStatus = ST.GETDIST @@ -607,7 +607,6 @@ Public Class Scene End Function Private Sub ShowCursorPos(ByVal WinXY As Point) - ' se coord. griglia e non snap a punto in Z If m_bGridCursorPos And m_nStatus <> ST.SELPOINTZ Then ' calcolo lo snap da utilizzare @@ -623,17 +622,16 @@ Public Class Scene ' costruisco la stringa Dim sCursorPos As New System.Text.StringBuilder sCursorPos.Append("X=") - sCursorPos.Append(ptSnap.x.ToString("F4", CultureInfo.InvariantCulture)) + sCursorPos.Append(EgtToUiUnits(ptSnap.x).ToString("F4", CultureInfo.InvariantCulture)) sCursorPos.Append(" Y=") - sCursorPos.Append(ptSnap.y.ToString("F4", CultureInfo.InvariantCulture)) + sCursorPos.Append(EgtToUiUnits(ptSnap.y).ToString("F4", CultureInfo.InvariantCulture)) sCursorPos.Append(" Z=") - sCursorPos.Append(ptSnap.z.ToString("F4", CultureInfo.InvariantCulture)) + sCursorPos.Append(EgtToUiUnits(ptSnap.z).ToString("F4", CultureInfo.InvariantCulture)) ' visualizzazione stringa RaiseEvent OnCursorPos(Me, sCursorPos.ToString) Return End If End If - ' se snap a punto in Z e riesco a ricavare un punto 3d snap If m_nStatus = ST.SELPOINTZ Then ' se riesco a ricavare un punto Z snap @@ -646,17 +644,16 @@ Public Class Scene ' costruisco la stringa Dim sCursorPos As New System.Text.StringBuilder sCursorPos.Append("X=") - sCursorPos.Append(ptSnap.x.ToString("F4", CultureInfo.InvariantCulture)) + sCursorPos.Append(EgtToUiUnits(ptSnap.x).ToString("F4", CultureInfo.InvariantCulture)) sCursorPos.Append(" Y=") - sCursorPos.Append(ptSnap.y.ToString("F4", CultureInfo.InvariantCulture)) + sCursorPos.Append(EgtToUiUnits(ptSnap.y).ToString("F4", CultureInfo.InvariantCulture)) sCursorPos.Append(" Z=") - sCursorPos.Append(ptSnap.z.ToString("F4", CultureInfo.InvariantCulture)) + sCursorPos.Append(EgtToUiUnits(ptSnap.z).ToString("F4", CultureInfo.InvariantCulture)) ' visualizzazione stringa RaiseEvent OnCursorPos(Me, sCursorPos.ToString) Return End If End If - ' in tutti gli altri casi If True Then ' ricavo il punto 3d da proiezione inversa @@ -670,23 +667,23 @@ Public Class Scene Select Case nDir Case VT.TOP, VT.BOTTOM sCursorPos.Append("X=") - sCursorPos.Append(ptWorld.x.ToString("F4", CultureInfo.InvariantCulture)) + sCursorPos.Append(EgtToUiUnits(ptWorld.x).ToString("F4", CultureInfo.InvariantCulture)) sCursorPos.Append(" Y=") - sCursorPos.Append(ptWorld.y.ToString("F4", CultureInfo.InvariantCulture)) + sCursorPos.Append(EgtToUiUnits(ptWorld.y).ToString("F4", CultureInfo.InvariantCulture)) Case VT.FRONT, VT.BACK sCursorPos.Append("X=") - sCursorPos.Append(ptWorld.x.ToString("F4", CultureInfo.InvariantCulture)) + sCursorPos.Append(EgtToUiUnits(ptWorld.x).ToString("F4", CultureInfo.InvariantCulture)) sCursorPos.Append(" Z=") - sCursorPos.Append(ptWorld.z.ToString("F4", CultureInfo.InvariantCulture)) + sCursorPos.Append(EgtToUiUnits(ptWorld.z).ToString("F4", CultureInfo.InvariantCulture)) Case VT.LEFT, VT.RIGHT sCursorPos.Append("Y=") - sCursorPos.Append(ptWorld.y.ToString("F4", CultureInfo.InvariantCulture)) + sCursorPos.Append(EgtToUiUnits(ptWorld.y).ToString("F4", CultureInfo.InvariantCulture)) sCursorPos.Append(" Z=") - sCursorPos.Append(ptWorld.z.ToString("F4", CultureInfo.InvariantCulture)) + sCursorPos.Append(EgtToUiUnits(ptWorld.z).ToString("F4", CultureInfo.InvariantCulture)) Case Else sCursorPos.Append(" ") End Select - ' lancio l'evento per visualizzare la stringa + ' visualizzazione stringa RaiseEvent OnCursorPos(Me, sCursorPos.ToString) End If End Sub