diff --git a/ConstIni.vb b/ConstIni.vb index d042c07..67fa404 100644 --- a/ConstIni.vb +++ b/ConstIni.vb @@ -65,4 +65,8 @@ Public Const K_EXTSSTEP As String = "ExtSStep" Public Const K_MINLNCOLOR As String = "MinLnColor" Public Const K_MAJLNCOLOR As String = "MajLnColor" +Public Const S_MRUFILES As String = "MruFiles" +Public Const S_MRUSCRIPTS As String = "MruScripts" +Public Const K_FILE As String = "File" + End Module diff --git a/Controller.vb b/Controller.vb index 84d828e..3d6d909 100644 --- a/Controller.vb +++ b/Controller.vb @@ -22,14 +22,15 @@ Public Class Controller Public Event OnNewProject(ByVal sender As Object, ByVal bOk As Boolean) Public Event OnOpeningProject(ByVal sender As Object) Public Event OnOpenProject(ByVal sender As Object, ByVal sFile As String, ByVal bOk As Boolean) - Public Event OnSavingProject(ByVal sender As Object, ByVal sFile As String) - Public Event OnSavedProject(ByVal sender As Object, ByVal bOk As Boolean) + Public Event OnSavingProject(ByVal sender As Object) + Public Event OnSavedProject(ByVal sender As Object, ByVal sFile As String, ByVal bOk As Boolean) Public Event OnImportingProject(ByVal sender As Object, ByVal bOkType As Boolean) Public Event OnImportedProject(ByVal sender As Object, ByVal sFile As String, ByVal bOk As Boolean) - Public Event OnExportingProject(ByVal sender As Object, ByVal sFile As String) - Public Event OnExportedProject(ByVal sender As Object, ByVal bOk As Boolean) - Public Event OnExecutingScript(ByVal sender As Object, ByVal sFile As String) - Public Event OnExecutedScript(ByVal sender As Object, ByVal bOk As Boolean, ByVal sError As String) + Public Event OnExportingProject(ByVal sender As Object) + Public Event OnExportedProject(ByVal sender As Object, ByVal sFile As String, ByVal bOk As Boolean) + Public Event OnExecutingScript(ByVal sender As Object) + Public Event OnExecutedScript(ByVal sender As Object, ByVal sFile As String, + ByVal bOk As Boolean, ByVal sError As String) Public Event PrepareInputBox(ByVal sTitle As String, ByVal sLabel As String, ByVal sCheckLabel As String, ByVal bShowCombo As Boolean, ByVal bShowBtn As Boolean) Public Event SetInputBoxText(ByVal sText As String) @@ -88,6 +89,8 @@ Public Class Controller REVOLVE SCREW RULED + MERGESURF + INVERTSURF DELETE CHANGELAYER CHANGECOLOR @@ -100,7 +103,6 @@ Public Class Controller JOINCURVE EXPLODECURVE SETCURVETHICKNESS - INVERTSURF MOVE ROTATE ROTATE3D @@ -141,6 +143,8 @@ Public Class Controller Private m_nLast As Integer = 0 Private m_sLast As String = String.Empty Private m_bLast As Boolean = False + Private m_ptLastSel As Point3d ' punto da ultima selezione entità + Private m_nLastSel As Integer ' info aux da ultima selezione entità Private m_ptCont As Point3d ' punto finale di entità precedente (per continuazione) Private m_vtCont As Vector3d = Vector3d.X_AX() ' direzione finale di entità precedente (per continuazione) @@ -266,18 +270,18 @@ Public Class Controller If String.IsNullOrWhiteSpace(sCurrFile) Or EgtGetFileType(sCurrFile) <> FT.NGE Then Return SaveAsProject(sCurrFile, nType) Else - 'Prima del salvataggio - RaiseEvent OnSavingProject(Me, sCurrFile) - 'Salvataggio del progetto + ' Prima del salvataggio + RaiseEvent OnSavingProject(Me) + ' Salvataggio del progetto m_Scene.Cursor = Cursors.WaitCursor EnableCommandLog() Dim bOk As Boolean = EgtSaveFile(sCurrFile, nType) DisableCommandLog() m_Scene.Cursor = Cursors.Default - 'Aggiorno + ' Aggiorno RaiseEvent UpdateUI(Me, False) - 'Gestione risultato - RaiseEvent OnSavedProject(Me, bOk) + ' Gestione risultato + RaiseEvent OnSavedProject(Me, sCurrFile, bOk) Return bOk End If End Function @@ -298,18 +302,19 @@ Public Class Controller If SaveFileDialog.ShowDialog <> Windows.Forms.DialogResult.OK Then Return True End If + Dim sFileName As String = SaveFileDialog.FileName 'Prima del salvataggio - RaiseEvent OnSavingProject(Me, SaveFileDialog.FileName) + RaiseEvent OnSavingProject(Me) 'Salvataggio del progetto m_Scene.Cursor = Cursors.WaitCursor EnableCommandLog() - Dim bOk As Boolean = EgtSaveFile(SaveFileDialog.FileName, nType) + Dim bOk As Boolean = EgtSaveFile(sFileName, nType) DisableCommandLog() m_Scene.Cursor = Cursors.Default 'Aggiorno RaiseEvent UpdateUI(Me, False) 'Gestione risultato - RaiseEvent OnSavedProject(Me, bOk) + RaiseEvent OnSavedProject(Me, sFileName, bOk) Return bOk End Function @@ -384,23 +389,24 @@ Public Class Controller MessageBox.Show("File type unknown", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) Return False End If + Dim sFileName As String = SaveFileDialog.FileName 'Prima dell'esportazione - RaiseEvent OnExportingProject(Me, SaveFileDialog.FileName) + RaiseEvent OnExportingProject(Me) 'Esportazione del progetto m_Scene.Cursor = Cursors.WaitCursor EnableCommandLog() Dim bOk As Boolean = False If nFileType = FT.DXF Then - bOk = EgtExportDxf(GDB_ID.ROOT, SaveFileDialog.FileName) + bOk = EgtExportDxf(GDB_ID.ROOT, sFileName) ElseIf nFileType = FT.STL Then - bOk = EgtExportStl(GDB_ID.ROOT, SaveFileDialog.FileName) + bOk = EgtExportStl(GDB_ID.ROOT, sFileName) End If DisableCommandLog() m_Scene.Cursor = Cursors.Default 'Aggiornamento RaiseEvent UpdateUI(Me, False) 'Gestione risultato - RaiseEvent OnExportedProject(Me, bOk) + RaiseEvent OnExportedProject(Me, sFileName, bOk) Return bOk End Function @@ -427,7 +433,7 @@ Public Class Controller Return False End If 'Prima dell'esecuzione - RaiseEvent OnExecutingScript(Me, sFile) + RaiseEvent OnExecutingScript(Me) 'Esecuzione m_Scene.Cursor = Cursors.WaitCursor EnableCommandLog() @@ -451,7 +457,7 @@ Public Class Controller sError = "Error executing script" End If End If - RaiseEvent OnExecutedScript(Me, bOk, sError) + RaiseEvent OnExecutedScript(Me, sFile, bOk, sError) Return bOk End Function @@ -550,7 +556,7 @@ Public Class Controller m_dLast = GridAngFromGlobDir(m_ptLast - m_ptP1) m_dAux = GridLenFromGlobLen(m_ptLast - m_ptP1) Case IBT.TY_LENGTH - m_dLast = (m_ptLast - m_ptP1) * m_vtCont + m_dLast = (m_ptLast - m_ptP1) * m_vtLast Case IBT.TY_SPECIALDOUBLE ExecuteSpecialData() End Select @@ -743,6 +749,11 @@ Public Class Controller m_bLast = bVal End Sub + Public Sub SetPointFromSelection(ByVal PtP As Point3d, ByVal nAux As Integer) + m_ptLastSel = PtP + m_nLastSel = nAux + End Sub + Public Sub ResetStatus() m_nStep = 0 m_sepP1 = SEP.PT_STD @@ -789,7 +800,7 @@ Public Class Controller Return ProcessGrid3P() ' Griglia/Cplane perpendicolare a curva Case CMD.GRID_PERPCURVE - Return ProcessGridPerpCurve() + Return ProcessGridPerpObj() ' Griglia/Cplane da oggetto geometrico Case CMD.GRID_OBJ Return ProcessGridObj() @@ -892,6 +903,12 @@ Public Class Controller ' Ruled Case CMD.RULED Return ProcessRuled() + ' Merge Surfaces + Case CMD.MERGESURF + Return ProcessMergeSurf() + ' Invert Surface + Case CMD.INVERTSURF + Return ProcessInvertSurf() ' Delete Case CMD.DELETE Return ProcessDelete() @@ -928,9 +945,6 @@ Public Class Controller ' Set Curve Thickness Case CMD.SETCURVETHICKNESS Return ProcessSetCurveThickness() - ' Invert Surface - Case CMD.INVERTSURF - Return ProcessInvertSurf() ' Move Case CMD.MOVE Return ProcessMove() @@ -1298,7 +1312,7 @@ Public Class Controller Return True End Function - Private Function ProcessGridPerpCurve() As Boolean + Private Function ProcessGridPerpObj() As Boolean Select Case m_nStep Case 0 ' non serve il gruppo di drag @@ -1306,7 +1320,7 @@ Public Class Controller ' imposto stato a primo punto per rotazione griglia m_nStep = 1 ' abilito dialogo - RaiseEvent PrepareInputBox("GRID PERP CURVE", "Insert Origin", "", False, False) + RaiseEvent PrepareInputBox("GRID PERP OBJECT", "Insert Origin", "", False, False) m_nInpType = IBT.TY_POINT3D Case 1 ' calcolo griglia dato punto e versore Z @@ -1360,6 +1374,19 @@ Public Class Controller EnableCommandLog() EgtSetGridFrame(frNew) DisableCommandLog() + Case GDB_TY.SRF_MESH + Dim nF As Integer = EgtSurfTmFacetFromTria(nId, m_nLastSel) + If nF >= 0 Then + Dim ptOrig As Point3d + Dim vtZ As Vector3d + If EgtSurfTmFacetCenter(nId, nF, ptOrig, vtZ) Then + Dim frNew As New Frame3d + frNew.Setup(ptOrig.Glob(nId), vtZ.Glob(nId)) + EnableCommandLog() + EgtSetGridFrame(frNew) + DisableCommandLog() + End If + End If Case GDB_TY.EXT_TEXT Dim vtX As Vector3d Dim vtZ As Vector3d @@ -2908,7 +2935,7 @@ Public Class Controller ' creo la superficie piana (a partire da un contorno selezionato) EnableCommandLog() If EgtGetSelectedObjNbr() = 1 Then - EgtCreateSurfTriMeshByFlatContour(GetCurrLayer(), EgtGetLastSelectedObj(), EPS_STM) + EgtCreateSurfTmByFlatContour(GetCurrLayer(), EgtGetLastSelectedObj(), EPS_STM) Else ' creo vettore di entità selezionate Dim nCrvNum As Integer = 0 @@ -2923,7 +2950,7 @@ Public Class Controller nId = EgtGetNextSelectedObj() End While ' creo la superficie - EgtCreateSurfTriMeshByRegion(GetCurrLayer(), nCrvNum, nCrvIds, EPS_STM) + EgtCreateSurfTmByRegion(GetCurrLayer(), nCrvNum, nCrvIds, EPS_STM) End If DisableCommandLog() ' reset stato scena @@ -2971,10 +2998,10 @@ Public Class Controller ' eseguo EnableCommandLog() If Not m_bLast Then - EgtCreateSurfTriMeshByExtrusion(GetCurrLayer(), nCrvNum, nCrvIds, VtExtr, + EgtCreateSurfTmByExtrusion(GetCurrLayer(), nCrvNum, nCrvIds, VtExtr, EPS_STM, REF_TY.GRID) Else - EgtCreateSurfTriMeshByRegionExtrusion(GetCurrLayer(), nCrvNum, nCrvIds, VtExtr, + EgtCreateSurfTmByRegionExtrusion(GetCurrLayer(), nCrvNum, nCrvIds, VtExtr, EPS_STM, REF_TY.GRID) End If DisableCommandLog() @@ -3008,10 +3035,10 @@ Public Class Controller End While ' eseguo If Not m_bLast Then - EgtCreateSurfTriMeshByExtrusion(m_Scene.GetDragGroup(), nCrvNum, nCrvIds, VtExtr, + EgtCreateSurfTmByExtrusion(m_Scene.GetDragGroup(), nCrvNum, nCrvIds, VtExtr, EPS_STM_DRAG, REF_TY.GLOB) Else - EgtCreateSurfTriMeshByRegionExtrusion(m_Scene.GetDragGroup(), nCrvNum, nCrvIds, VtExtr, + EgtCreateSurfTmByRegionExtrusion(m_Scene.GetDragGroup(), nCrvNum, nCrvIds, VtExtr, EPS_STM_DRAG, REF_TY.GLOB) End If EgtDraw() @@ -3044,7 +3071,7 @@ Public Class Controller ' creo la superficie di rivoluzione (i punti sono in globale) EnableCommandLog() Dim vtAx As Vector3d = m_ptLast - m_ptP1 - EgtCreateSurfTriMeshByRevolve(GetCurrLayer(), EgtGetLastSelectedObj(), + EgtCreateSurfTmByRevolve(GetCurrLayer(), EgtGetLastSelectedObj(), m_ptP1.Loc(GDB_ID.GRID), vtAx.Loc(GDB_ID.GRID), m_bLast, EPS_STM, REF_TY.GRID) DisableCommandLog() @@ -3066,7 +3093,7 @@ Public Class Controller EgtEmptyGroup(m_Scene.GetDragGroup()) ' creo la superficie di rivoluzione (i punti sono in globale) Dim vtAx As Vector3d = m_ptLast - m_ptP1 - EgtCreateSurfTriMeshByRevolve(m_Scene.GetDragGroup(), EgtGetLastSelectedObj(), + EgtCreateSurfTmByRevolve(m_Scene.GetDragGroup(), EgtGetLastSelectedObj(), m_ptP1, vtAx, m_bLast, EPS_STM_DRAG, REF_TY.GLOB) EgtDraw() End If @@ -3116,7 +3143,7 @@ Public Class Controller ' creo la superficie di rivoluzione (i punti sono in globale) EnableCommandLog() Dim vtAx As Vector3d = m_ptP2 - m_ptP1 - EgtCreateSurfTriMeshByScrewing(GetCurrLayer(), EgtGetLastSelectedObj(), + EgtCreateSurfTmByScrewing(GetCurrLayer(), EgtGetLastSelectedObj(), m_ptP1.Loc(GDB_ID.GRID), vtAx.Loc(GDB_ID.GRID), m_dPrev, m_dLast, EPS_STM, REF_TY.GRID) DisableCommandLog() @@ -3141,7 +3168,7 @@ Public Class Controller EgtErase(EgtGetFirstInGroup(m_Scene.GetDragGroup())) ' creo la superficie di rivoluzione (i punti sono in globale) Dim vtAx As Vector3d = m_ptP2 - m_ptP1 - EgtCreateSurfTriMeshByScrewing(m_Scene.GetDragGroup(), EgtGetLastSelectedObj(), + EgtCreateSurfTmByScrewing(m_Scene.GetDragGroup(), EgtGetLastSelectedObj(), m_ptP1, vtAx, m_dLast, 0, EPS_STM_DRAG, REF_TY.GLOB) EgtDraw() ElseIf m_nStep = 4 Then @@ -3150,7 +3177,7 @@ Public Class Controller EgtErase(EgtGetFirstInGroup(m_Scene.GetDragGroup())) ' creo la superficie di rivoluzione (i punti sono in globale) Dim vtAx As Vector3d = m_ptP2 - m_ptP1 - EgtCreateSurfTriMeshByScrewing(m_Scene.GetDragGroup(), EgtGetLastSelectedObj(), + EgtCreateSurfTmByScrewing(m_Scene.GetDragGroup(), EgtGetLastSelectedObj(), m_ptP1, vtAx, m_dPrev, m_dLast, EPS_STM_DRAG, REF_TY.GLOB) EgtDraw() End If @@ -3168,7 +3195,7 @@ Public Class Controller EnableCommandLog() Dim nLastId As Integer = EgtGetLastSelectedObj() Dim nPrevId As Integer = EgtGetPrevSelectedObj() - EgtCreateSurfTriMeshRuled(GetCurrLayer(), nPrevId, nLastId, EPS_STM) + EgtCreateSurfTmRuled(GetCurrLayer(), nPrevId, nLastId, EPS_STM) DisableCommandLog() ' reset stato scena m_Scene.ResetStatus() @@ -3178,6 +3205,49 @@ Public Class Controller Return True End Function + Private Function ProcessMergeSurf() As Boolean + If m_nStep <> 0 Then + Return False + End If + ' creo vettore di superfici selezionate + Dim nSurfNum As Integer = 0 + Dim nSurfIds(EgtGetSelectedObjNbr() - 1) As Integer + Dim nId As Integer = EgtGetFirstSelectedObj() + While nId <> GDB_ID.NULL + Select Case EgtGetType(nId) + Case GDB_TY.SRF_MESH + nSurfIds(nSurfNum) = nId + nSurfNum = nSurfNum + 1 + End Select + nId = EgtGetNextSelectedObj() + End While ' lancio la combinazione delle superfici + EnableCommandLog() + EgtCreateSurfTmBySewing(GetCurrLayer(), nSurfNum, nSurfIds, True) + DisableCommandLog() + ' reset stato scena + m_Scene.ResetStatus() + ' reset stato + m_nStep = 0 + RaiseEvent UpdateUI(Me, True) + Return True + End Function + + Private Function ProcessInvertSurf() As Boolean + If m_nStep <> 0 Then + Return False + End If + ' lancio l'inversione delle superfici + EnableCommandLog() + EgtInvertSurface(GDB_ID.SEL) + DisableCommandLog() + ' reset stato scena + m_Scene.ResetStatus() + ' reset stato + m_nStep = 0 + RaiseEvent UpdateUI(Me, False) + Return True + End Function + Private Function ProcessDelete() As Boolean If m_nStep <> 0 Then Return False @@ -3288,7 +3358,7 @@ Public Class Controller End Function Private Function ProcessChangeAlpha() As Boolean - Select m_nStep + Select Case m_nStep Case 0 ' verifico ci sia qualcosa di selezionato Dim nId As Integer = EgtGetFirstSelectedObj() @@ -3363,7 +3433,7 @@ Public Class Controller Dim ptEnd As Point3d EgtEndPoint(nId, ptEnd) ptEnd = ptEnd.Glob(nId) - If ((ptStart - m_ptLast).SqLen() <= (ptEnd - m_ptLast).SqLen()) Then + If ((ptStart - m_ptLastSel).SqLen() <= (ptEnd - m_ptLastSel).SqLen()) Then m_bLast = True m_ptP1 = ptStart EgtStartVector(nId, m_vtCont) @@ -3510,7 +3580,7 @@ Public Class Controller If GetCurrLayer() = GDB_ID.NULL Then Return False End If - ' creo vettore di entità selezionate + ' creo vettore di curve selezionate Dim nCrvNum As Integer = 0 Dim nCrvIds(EgtGetSelectedObjNbr() - 1) As Integer Dim nId As Integer = EgtGetFirstSelectedObj() @@ -3632,22 +3702,6 @@ Public Class Controller End If End Sub - Private Function ProcessInvertSurf() As Boolean - If m_nStep <> 0 Then - Return False - End If - ' lancio l'inversione delle superfici - EnableCommandLog() - EgtInvertSurface(GDB_ID.SEL) - DisableCommandLog() - ' reset stato scena - m_Scene.ResetStatus() - ' reset stato - m_nStep = 0 - RaiseEvent UpdateUI(Me, False) - Return True - End Function - Private Function ProcessMove() As Boolean Select Case m_nStep Case 0 diff --git a/EgtInterface.vb b/EgtInterface.vb index 0e22b65..9fe4e96 100644 --- a/EgtInterface.vb +++ b/EgtInterface.vb @@ -926,41 +926,45 @@ Public Function EgtCreatePolygonFromSide(ByVal nParentId As Integer, ByVal nNumS End Function -Public Function EgtCreateSurfTriMeshByFlatContour(ByVal nParentId As Integer, ByVal nCrvId As Integer, ByVal dLinTol As Double) As Integer +Public Function EgtCreateSurfTmByFlatContour(ByVal nParentId As Integer, ByVal nCrvId As Integer, ByVal dLinTol As Double) As Integer End Function -Public Function EgtCreateSurfTriMeshByRegion(ByVal nParentId As Integer, ByVal nNumCrv As Integer, ByVal nCrvId() As Integer, ByVal dLinTol As Double) As Integer +Public Function EgtCreateSurfTmByRegion(ByVal nParentId As Integer, ByVal nNumCrv As Integer, ByVal nCrvId() As Integer, ByVal dLinTol As Double) As Integer End Function -Public Function EgtCreateSurfTriMeshByExtrusion(ByVal nParentId As Integer, ByVal nNumCrv As Integer, ByVal nCrvId() As Integer, - ByRef VtExtr As Vector3d, ByVal dLinTol As Double, - Optional ByVal nRefType As REF_TY = REF_TY.LOC) As Integer +Public Function EgtCreateSurfTmByExtrusion(ByVal nParentId As Integer, ByVal nNumCrv As Integer, ByVal nCrvId() As Integer, + ByRef VtExtr As Vector3d, ByVal dLinTol As Double, + Optional ByVal nRefType As REF_TY = REF_TY.LOC) As Integer End Function -Public Function EgtCreateSurfTriMeshByRegionExtrusion(ByVal nParentId As Integer, ByVal nNumCrv As Integer, ByVal nCrvId() As Integer, - ByRef VtExtr As Vector3d, ByVal dLinTol As Double, - Optional ByVal nRefType As REF_TY = REF_TY.LOC) As Integer +Public Function EgtCreateSurfTmByRegionExtrusion(ByVal nParentId As Integer, ByVal nNumCrv As Integer, ByVal nCrvId() As Integer, + ByRef VtExtr As Vector3d, ByVal dLinTol As Double, + Optional ByVal nRefType As REF_TY = REF_TY.LOC) As Integer End Function -Public Function EgtCreateSurfTriMeshByRevolve(ByVal nParentId As Integer, ByVal nCrvId As Integer, - ByRef PtAx As Point3d, ByRef VtAx As Vector3d, - ByVal bCapEnds As Boolean, ByVal dLinTol As Double, - Optional ByVal nRefType As REF_TY = REF_TY.LOC) As Integer +Public Function EgtCreateSurfTmByRevolve(ByVal nParentId As Integer, ByVal nCrvId As Integer, + ByRef PtAx As Point3d, ByRef VtAx As Vector3d, + ByVal bCapEnds As Boolean, ByVal dLinTol As Double, + Optional ByVal nRefType As REF_TY = REF_TY.LOC) As Integer End Function -Public Function EgtCreateSurfTriMeshByScrewing(ByVal nParentId As Integer, ByVal nCrvId As Integer, - ByRef PtAx As Point3d, ByRef VtAx As Vector3d, - ByVal dAngRotDeg As Double, ByVal dMove As Double, - ByVal dLinTol As Double, Optional ByVal nRefType As REF_TY = REF_TY.LOC) As Integer +Public Function EgtCreateSurfTmByScrewing(ByVal nParentId As Integer, ByVal nCrvId As Integer, + ByRef PtAx As Point3d, ByRef VtAx As Vector3d, + ByVal dAngRotDeg As Double, ByVal dMove As Double, + ByVal dLinTol As Double, Optional ByVal nRefType As REF_TY = REF_TY.LOC) As Integer End Function -Public Function EgtCreateSurfTriMeshRuled(ByVal nParentId As Integer, ByVal nCrvId1 As Integer, ByVal nCrvId2 As Integer, ByVal dLinTol As Double) As Integer +Public Function EgtCreateSurfTmRuled(ByVal nParentId As Integer, ByVal nCrvId1 As Integer, ByVal nCrvId2 As Integer, ByVal dLinTol As Double) As Integer +End Function + + +Public Function EgtCreateSurfTmBySewing(ByVal nParentId As Integer, ByVal nNumSrf As Integer, ByVal nSrfId() As Integer, ByVal bSrfErase As Boolean) As Integer End Function @@ -1648,13 +1652,6 @@ Public Function EgtGetMinDistPntSidePointCurve(ByRef ptP As Point3d, ByVal nId A ByRef dDist As Double, ByRef ptMin As Point3d, ByRef nSide As Integer) As Boolean End Function - -Public Function EgtExtTextNormVersor(ByVal nId As Integer, ByVal nRefId As Integer, ByRef VtNorm As Vector3d) As Boolean -End Function -Public Function EgtExtTextNormVersor(ByVal nId As Integer, ByRef VtNorm As Vector3d) As Boolean - Return EgtExtTextNormVersor(nId, nId, VtNorm) -End Function - Public Function EgtCurveArcNormVersor(ByVal nId As Integer, ByVal nRefId As Integer, ByRef VtNorm As Vector3d) As Boolean End Function @@ -1662,6 +1659,40 @@ Public Function EgtCurveArcNormVersor(ByVal nId As Integer, ByRef VtNorm As Vect Return EgtCurveArcNormVersor(nId, nId, VtNorm) End Function + +Public Function EgtSurfTmFacetFromTria(ByVal nId As Integer, ByVal nT As Integer) As Integer +End Function + + +Public Function EgtSurfTmFacetNearestEndPoint(ByVal nId As Integer, ByVal nF As Integer, ByRef PtNear As Point3d, ByVal nRefId As Integer, + ByRef PtP As Point3d, ByRef VtNorm As Vector3d) As Boolean +End Function +Public Function EgtSurfTmFacetNearestEndPoint(ByVal nId As Integer, ByVal nF As Integer, ByRef PtNear As Point3d, + ByRef PtP As Point3d, ByRef VtNorm As Vector3d) As Boolean + Return EgtSurfTmFacetNearestEndPoint(nId, nF, PtNear, nId, PtP, VtNorm) +End Function + + +Public Function EgtSurfTmFacetCenter(ByVal nId As Integer, ByVal nF As Integer, ByVal nRefId As Integer, ByRef PtP As Point3d, ByRef VtNorm As Vector3d) As Boolean +End Function +Public Function EgtSurfTmFacetCenter(ByVal nId As Integer, ByVal nF As Integer, ByRef PtP As Point3d, ByRef VtNorm As Vector3d) As Boolean + Return EgtSurfTmFacetCenter(nId, nF, nId, PtP, VtNorm) +End Function + + +Public Function EgtSurfTmFacetNormVersor(ByVal nId As Integer, ByVal nF As Integer, ByVal nRefId As Integer, ByRef VtNorm As Vector3d) As Boolean +End Function +Public Function EgtSurfTmFacetNormVersor(ByVal nId As Integer, ByVal nF As Integer, ByRef VtNorm As Vector3d) As Boolean + Return EgtSurfTmFacetNormVersor(nId, nF, nId, VtNorm) +End Function + + +Public Function EgtExtTextNormVersor(ByVal nId As Integer, ByVal nRefId As Integer, ByRef VtNorm As Vector3d) As Boolean +End Function +Public Function EgtExtTextNormVersor(ByVal nId As Integer, ByRef VtNorm As Vector3d) As Boolean + Return EgtExtTextNormVersor(nId, nId, VtNorm) +End Function + Private Function EgtPointToIdGlob(ByRef PtP As Point3d, ByVal nId As Integer) As Boolean End Function @@ -1779,10 +1810,10 @@ End Function Private Function EgtGetPointFromSelect(ByVal nSelId As Integer, ByVal nWinX As Integer, ByVal nWinY As Integer, - ByRef ptP As Point3d) As Boolean + ByRef ptP As Point3d, ByRef nAux As Integer) As Boolean End Function -Public Function EgtGetPointFromSelect(ByVal nSelId As Integer, ByVal PtWin As Point, ByRef ptP As Point3d) As Boolean - Return EgtGetPointFromSelect(nSelId, PtWin.X, PtWin.Y, ptP) +Public Function EgtGetPointFromSelect(ByVal nSelId As Integer, ByVal PtWin As Point, ByRef ptP As Point3d, ByRef nAux As Integer) As Boolean + Return EgtGetPointFromSelect(nSelId, PtWin.X, PtWin.Y, ptP, nAux) End Function diff --git a/Form1.Designer.vb b/Form1.Designer.vb index de3a766..558f949 100644 --- a/Form1.Designer.vb +++ b/Form1.Designer.vb @@ -62,7 +62,7 @@ Partial Class Form1 Me.btnTop = New System.Windows.Forms.Button() Me.TabCPlane = New System.Windows.Forms.TabPage() Me.btnCPlaneView = New System.Windows.Forms.Button() - Me.btnCPlanePerpCurve = New System.Windows.Forms.Button() + Me.btnCPlanePerpObj = New System.Windows.Forms.Button() Me.btnCPlaneObj = New System.Windows.Forms.Button() Me.btnCplane3P = New System.Windows.Forms.Button() Me.btnCplaneRotate = New System.Windows.Forms.Button() @@ -108,13 +108,14 @@ Partial Class Form1 Me.btnPoint = New System.Windows.Forms.Button() Me.btnLine2P = New System.Windows.Forms.Button() Me.TabConstruct = New System.Windows.Forms.TabPage() + Me.btnMergeSurf = New System.Windows.Forms.Button() + Me.btnInvertSurf = New System.Windows.Forms.Button() Me.btnRevolve = New System.Windows.Forms.Button() Me.btnRuled = New System.Windows.Forms.Button() Me.btnScrew = New System.Windows.Forms.Button() Me.btnExtrude = New System.Windows.Forms.Button() Me.btnPlane = New System.Windows.Forms.Button() Me.TabEdit = New System.Windows.Forms.TabPage() - Me.btnInvertSurf = New System.Windows.Forms.Button() Me.btnChangeLayer = New System.Windows.Forms.Button() Me.btnSetCurveTh = New System.Windows.Forms.Button() Me.btnExtendCurve = New System.Windows.Forms.Button() @@ -158,6 +159,28 @@ Partial Class Form1 Me.ColorDialog1 = New System.Windows.Forms.ColorDialog() Me.FormTimer = New System.Windows.Forms.Timer(Me.components) Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components) + Me.ContextMenuMruFiles = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.MruTitle = New System.Windows.Forms.ToolStripTextBox() + Me.MruSep = New System.Windows.Forms.ToolStripSeparator() + Me.MruFile1 = New System.Windows.Forms.ToolStripMenuItem() + Me.MruFile2 = New System.Windows.Forms.ToolStripMenuItem() + Me.MruFile3 = New System.Windows.Forms.ToolStripMenuItem() + Me.MruFile4 = New System.Windows.Forms.ToolStripMenuItem() + Me.MruFile5 = New System.Windows.Forms.ToolStripMenuItem() + Me.MruFile6 = New System.Windows.Forms.ToolStripMenuItem() + Me.MruFile7 = New System.Windows.Forms.ToolStripMenuItem() + Me.MruFile8 = New System.Windows.Forms.ToolStripMenuItem() + Me.ContextMenuMruScripts = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.MruSTitle = New System.Windows.Forms.ToolStripTextBox() + Me.MruSSep = New System.Windows.Forms.ToolStripSeparator() + Me.MruSFile1 = New System.Windows.Forms.ToolStripMenuItem() + Me.MruSFile2 = New System.Windows.Forms.ToolStripMenuItem() + Me.MruSFile3 = New System.Windows.Forms.ToolStripMenuItem() + Me.MruSFile4 = New System.Windows.Forms.ToolStripMenuItem() + Me.MruSFile5 = New System.Windows.Forms.ToolStripMenuItem() + Me.MruSFile6 = New System.Windows.Forms.ToolStripMenuItem() + Me.MruSFile7 = New System.Windows.Forms.ToolStripMenuItem() + Me.MruSFile8 = New System.Windows.Forms.ToolStripMenuItem() Me.TableLayoutPanel1.SuspendLayout() Me.TabControl1.SuspendLayout() Me.TabFile.SuspendLayout() @@ -178,6 +201,8 @@ Partial Class Form1 Me.TabTransform.SuspendLayout() Me.StatusStrip1.SuspendLayout() Me.ContextMenuTreeView1.SuspendLayout() + Me.ContextMenuMruFiles.SuspendLayout() + Me.ContextMenuMruScripts.SuspendLayout() Me.SuspendLayout() ' 'TableLayoutPanel1 @@ -812,7 +837,7 @@ Partial Class Form1 Me.TabCPlane.BackColor = System.Drawing.SystemColors.Control Me.TabCPlane.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None Me.TabCPlane.Controls.Add(Me.btnCPlaneView) - Me.TabCPlane.Controls.Add(Me.btnCPlanePerpCurve) + Me.TabCPlane.Controls.Add(Me.btnCPlanePerpObj) Me.TabCPlane.Controls.Add(Me.btnCPlaneObj) Me.TabCPlane.Controls.Add(Me.btnCplane3P) Me.TabCPlane.Controls.Add(Me.btnCplaneRotate) @@ -849,22 +874,22 @@ Partial Class Form1 Me.btnCPlaneView.TextAlign = System.Drawing.ContentAlignment.BottomCenter Me.btnCPlaneView.UseVisualStyleBackColor = False ' - 'btnCPlanePerpCurve + 'btnCPlanePerpObj ' - Me.btnCPlanePerpCurve.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control - Me.btnCPlanePerpCurve.FlatAppearance.BorderSize = 0 - Me.btnCPlanePerpCurve.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control - Me.btnCPlanePerpCurve.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption - Me.btnCPlanePerpCurve.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.btnCPlanePerpCurve.Image = CType(resources.GetObject("btnCPlanePerpCurve.Image"), System.Drawing.Image) - Me.btnCPlanePerpCurve.ImageAlign = System.Drawing.ContentAlignment.TopCenter - Me.btnCPlanePerpCurve.Location = New System.Drawing.Point(620, 0) - Me.btnCPlanePerpCurve.Name = "btnCPlanePerpCurve" - Me.btnCPlanePerpCurve.Size = New System.Drawing.Size(56, 48) - Me.btnCPlanePerpCurve.TabIndex = 39 - Me.btnCPlanePerpCurve.Text = "PerpCrv" - Me.btnCPlanePerpCurve.TextAlign = System.Drawing.ContentAlignment.BottomCenter - Me.btnCPlanePerpCurve.UseVisualStyleBackColor = False + Me.btnCPlanePerpObj.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control + Me.btnCPlanePerpObj.FlatAppearance.BorderSize = 0 + Me.btnCPlanePerpObj.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control + Me.btnCPlanePerpObj.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption + Me.btnCPlanePerpObj.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnCPlanePerpObj.Image = CType(resources.GetObject("btnCPlanePerpObj.Image"), System.Drawing.Image) + Me.btnCPlanePerpObj.ImageAlign = System.Drawing.ContentAlignment.TopCenter + Me.btnCPlanePerpObj.Location = New System.Drawing.Point(620, 0) + Me.btnCPlanePerpObj.Name = "btnCPlanePerpObj" + Me.btnCPlanePerpObj.Size = New System.Drawing.Size(56, 48) + Me.btnCPlanePerpObj.TabIndex = 39 + Me.btnCPlanePerpObj.Text = "Perp" + Me.btnCPlanePerpObj.TextAlign = System.Drawing.ContentAlignment.BottomCenter + Me.btnCPlanePerpObj.UseVisualStyleBackColor = False ' 'btnCPlaneObj ' @@ -1523,6 +1548,8 @@ Partial Class Form1 'TabConstruct ' Me.TabConstruct.BackColor = System.Drawing.SystemColors.Control + Me.TabConstruct.Controls.Add(Me.btnMergeSurf) + Me.TabConstruct.Controls.Add(Me.btnInvertSurf) Me.TabConstruct.Controls.Add(Me.btnRevolve) Me.TabConstruct.Controls.Add(Me.btnRuled) Me.TabConstruct.Controls.Add(Me.btnScrew) @@ -1534,6 +1561,42 @@ Partial Class Form1 Me.TabConstruct.TabIndex = 4 Me.TabConstruct.Text = "Construct" ' + 'btnMergeSurf + ' + Me.btnMergeSurf.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control + Me.btnMergeSurf.FlatAppearance.BorderSize = 0 + Me.btnMergeSurf.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control + Me.btnMergeSurf.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption + Me.btnMergeSurf.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnMergeSurf.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.btnMergeSurf.Image = CType(resources.GetObject("btnMergeSurf.Image"), System.Drawing.Image) + Me.btnMergeSurf.ImageAlign = System.Drawing.ContentAlignment.TopCenter + Me.btnMergeSurf.Location = New System.Drawing.Point(0, 240) + Me.btnMergeSurf.Name = "btnMergeSurf" + Me.btnMergeSurf.Size = New System.Drawing.Size(56, 48) + Me.btnMergeSurf.TabIndex = 43 + Me.btnMergeSurf.Text = "Merge" + Me.btnMergeSurf.TextAlign = System.Drawing.ContentAlignment.BottomCenter + Me.btnMergeSurf.UseVisualStyleBackColor = False + ' + 'btnInvertSurf + ' + Me.btnInvertSurf.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control + Me.btnInvertSurf.FlatAppearance.BorderSize = 0 + Me.btnInvertSurf.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control + Me.btnInvertSurf.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption + Me.btnInvertSurf.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnInvertSurf.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.btnInvertSurf.Image = CType(resources.GetObject("btnInvertSurf.Image"), System.Drawing.Image) + Me.btnInvertSurf.ImageAlign = System.Drawing.ContentAlignment.TopCenter + Me.btnInvertSurf.Location = New System.Drawing.Point(0, 288) + Me.btnInvertSurf.Name = "btnInvertSurf" + Me.btnInvertSurf.Size = New System.Drawing.Size(56, 48) + Me.btnInvertSurf.TabIndex = 42 + Me.btnInvertSurf.Text = "Flip Surf" + Me.btnInvertSurf.TextAlign = System.Drawing.ContentAlignment.BottomCenter + Me.btnInvertSurf.UseVisualStyleBackColor = False + ' 'btnRevolve ' Me.btnRevolve.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control @@ -1627,7 +1690,6 @@ Partial Class Form1 'TabEdit ' Me.TabEdit.BackColor = System.Drawing.SystemColors.Control - Me.TabEdit.Controls.Add(Me.btnInvertSurf) Me.TabEdit.Controls.Add(Me.btnChangeLayer) Me.TabEdit.Controls.Add(Me.btnSetCurveTh) Me.TabEdit.Controls.Add(Me.btnExtendCurve) @@ -1643,24 +1705,6 @@ Partial Class Form1 Me.TabEdit.TabIndex = 3 Me.TabEdit.Text = "Edit" ' - 'btnInvertSurf - ' - Me.btnInvertSurf.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control - Me.btnInvertSurf.FlatAppearance.BorderSize = 0 - Me.btnInvertSurf.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.Control - Me.btnInvertSurf.FlatAppearance.MouseOverBackColor = System.Drawing.SystemColors.GradientInactiveCaption - Me.btnInvertSurf.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.btnInvertSurf.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.btnInvertSurf.Image = CType(resources.GetObject("btnInvertSurf.Image"), System.Drawing.Image) - Me.btnInvertSurf.ImageAlign = System.Drawing.ContentAlignment.TopCenter - Me.btnInvertSurf.Location = New System.Drawing.Point(0, 432) - Me.btnInvertSurf.Name = "btnInvertSurf" - Me.btnInvertSurf.Size = New System.Drawing.Size(56, 48) - Me.btnInvertSurf.TabIndex = 41 - Me.btnInvertSurf.Text = "Flip Surf" - Me.btnInvertSurf.TextAlign = System.Drawing.ContentAlignment.BottomCenter - Me.btnInvertSurf.UseVisualStyleBackColor = False - ' 'btnChangeLayer ' Me.btnChangeLayer.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control @@ -2138,6 +2182,154 @@ Partial Class Form1 Me.ToolTip1.StripAmpersands = True Me.ToolTip1.UseFading = False ' + 'ContextMenuMruFiles + ' + Me.ContextMenuMruFiles.Font = New System.Drawing.Font("Segoe UI", 9.0!) + Me.ContextMenuMruFiles.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.MruTitle, Me.MruSep, Me.MruFile1, Me.MruFile2, Me.MruFile3, Me.MruFile4, Me.MruFile5, Me.MruFile6, Me.MruFile7, Me.MruFile8}) + Me.ContextMenuMruFiles.Name = "ContextMenuMruFiles" + Me.ContextMenuMruFiles.ShowCheckMargin = True + Me.ContextMenuMruFiles.ShowImageMargin = False + Me.ContextMenuMruFiles.Size = New System.Drawing.Size(161, 211) + Me.ContextMenuMruFiles.Text = "Recent Files" + ' + 'MruTitle + ' + Me.MruTitle.BackColor = System.Drawing.SystemColors.Window + Me.MruTitle.CausesValidation = False + Me.MruTitle.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Bold) + Me.MruTitle.Name = "MruTitle" + Me.MruTitle.ReadOnly = True + Me.MruTitle.ShortcutsEnabled = False + Me.MruTitle.Size = New System.Drawing.Size(100, 23) + Me.MruTitle.Text = "Recent Files" + ' + 'MruSep + ' + Me.MruSep.Name = "MruSep" + Me.MruSep.Size = New System.Drawing.Size(157, 6) + ' + 'MruFile1 + ' + Me.MruFile1.Name = "MruFile1" + Me.MruFile1.Size = New System.Drawing.Size(160, 22) + Me.MruFile1.Text = "File1" + ' + 'MruFile2 + ' + Me.MruFile2.Name = "MruFile2" + Me.MruFile2.Size = New System.Drawing.Size(160, 22) + Me.MruFile2.Text = "File2" + ' + 'MruFile3 + ' + Me.MruFile3.Name = "MruFile3" + Me.MruFile3.Size = New System.Drawing.Size(160, 22) + Me.MruFile3.Text = "File3" + ' + 'MruFile4 + ' + Me.MruFile4.Name = "MruFile4" + Me.MruFile4.Size = New System.Drawing.Size(160, 22) + Me.MruFile4.Text = "File4" + ' + 'MruFile5 + ' + Me.MruFile5.Name = "MruFile5" + Me.MruFile5.Size = New System.Drawing.Size(160, 22) + Me.MruFile5.Text = "File5" + ' + 'MruFile6 + ' + Me.MruFile6.Name = "MruFile6" + Me.MruFile6.Size = New System.Drawing.Size(160, 22) + Me.MruFile6.Text = "File6" + ' + 'MruFile7 + ' + Me.MruFile7.Name = "MruFile7" + Me.MruFile7.Size = New System.Drawing.Size(160, 22) + Me.MruFile7.Text = "File7" + ' + 'MruFile8 + ' + Me.MruFile8.Name = "MruFile8" + Me.MruFile8.Size = New System.Drawing.Size(160, 22) + Me.MruFile8.Text = "File8" + ' + 'ContextMenuMruScripts + ' + Me.ContextMenuMruScripts.Font = New System.Drawing.Font("Segoe UI", 9.0!) + Me.ContextMenuMruScripts.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.MruSTitle, Me.MruSSep, Me.MruSFile1, Me.MruSFile2, Me.MruSFile3, Me.MruSFile4, Me.MruSFile5, Me.MruSFile6, Me.MruSFile7, Me.MruSFile8}) + Me.ContextMenuMruScripts.Name = "ContextMenuMruFiles" + Me.ContextMenuMruScripts.ShowCheckMargin = True + Me.ContextMenuMruScripts.ShowImageMargin = False + Me.ContextMenuMruScripts.Size = New System.Drawing.Size(161, 211) + Me.ContextMenuMruScripts.Text = "Recent Files" + ' + 'MruSTitle + ' + Me.MruSTitle.BackColor = System.Drawing.SystemColors.Window + Me.MruSTitle.CausesValidation = False + Me.MruSTitle.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Bold) + Me.MruSTitle.Name = "MruSTitle" + Me.MruSTitle.ReadOnly = True + Me.MruSTitle.ShortcutsEnabled = False + Me.MruSTitle.Size = New System.Drawing.Size(100, 23) + Me.MruSTitle.Text = "Recent Scripts" + ' + 'MruSSep + ' + Me.MruSSep.Name = "MruSSep" + Me.MruSSep.Size = New System.Drawing.Size(157, 6) + ' + 'MruSFile1 + ' + Me.MruSFile1.Name = "MruSFile1" + Me.MruSFile1.Size = New System.Drawing.Size(160, 22) + Me.MruSFile1.Text = "File1" + ' + 'MruSFile2 + ' + Me.MruSFile2.Name = "MruSFile2" + Me.MruSFile2.Size = New System.Drawing.Size(160, 22) + Me.MruSFile2.Text = "File2" + ' + 'MruSFile3 + ' + Me.MruSFile3.Name = "MruSFile3" + Me.MruSFile3.Size = New System.Drawing.Size(160, 22) + Me.MruSFile3.Text = "File3" + ' + 'MruSFile4 + ' + Me.MruSFile4.Name = "MruSFile4" + Me.MruSFile4.Size = New System.Drawing.Size(160, 22) + Me.MruSFile4.Text = "File4" + ' + 'MruSFile5 + ' + Me.MruSFile5.Name = "MruSFile5" + Me.MruSFile5.Size = New System.Drawing.Size(160, 22) + Me.MruSFile5.Text = "File5" + ' + 'MruSFile6 + ' + Me.MruSFile6.Name = "MruSFile6" + Me.MruSFile6.Size = New System.Drawing.Size(160, 22) + Me.MruSFile6.Text = "File6" + ' + 'MruSFile7 + ' + Me.MruSFile7.Name = "MruSFile7" + Me.MruSFile7.Size = New System.Drawing.Size(160, 22) + Me.MruSFile7.Text = "File7" + ' + 'MruSFile8 + ' + Me.MruSFile8.Name = "MruSFile8" + Me.MruSFile8.Size = New System.Drawing.Size(160, 22) + Me.MruSFile8.Text = "File8" + ' 'Form1 ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -2181,6 +2373,10 @@ Partial Class Form1 Me.StatusStrip1.ResumeLayout(False) Me.StatusStrip1.PerformLayout() Me.ContextMenuTreeView1.ResumeLayout(False) + Me.ContextMenuMruFiles.ResumeLayout(False) + Me.ContextMenuMruFiles.PerformLayout() + Me.ContextMenuMruScripts.ResumeLayout(False) + Me.ContextMenuMruScripts.PerformLayout() Me.ResumeLayout(False) End Sub @@ -2295,7 +2491,7 @@ End Sub Friend WithEvents btnCircleCD As System.Windows.Forms.Button Friend WithEvents btnSetCurveTh As System.Windows.Forms.Button Friend WithEvents btnCPlaneObj As System.Windows.Forms.Button - Friend WithEvents btnCPlanePerpCurve As System.Windows.Forms.Button + Friend WithEvents btnCPlanePerpObj As System.Windows.Forms.Button Friend WithEvents btnOffset As System.Windows.Forms.Button Friend WithEvents btnChangeLayer As System.Windows.Forms.Button Friend WithEvents btnRectangle2P As System.Windows.Forms.Button @@ -2311,12 +2507,35 @@ End Sub Friend WithEvents tsStatusCursorPos As System.Windows.Forms.ToolStripStatusLabel Friend WithEvents tsStatusUnits As System.Windows.Forms.ToolStripStatusLabel Friend WithEvents btnInsert As System.Windows.Forms.Button - Friend WithEvents btnInvertSurf As System.Windows.Forms.Button Friend WithEvents btnText As System.Windows.Forms.Button Friend WithEvents btnPolygon As System.Windows.Forms.Button Friend WithEvents tsStatusReg As System.Windows.Forms.ToolStripStatusLabel Friend WithEvents btnRevolve As System.Windows.Forms.Button Friend WithEvents ToolTip1 As System.Windows.Forms.ToolTip Friend WithEvents btnCPlaneView As System.Windows.Forms.Button + Friend WithEvents ContextMenuMruFiles As System.Windows.Forms.ContextMenuStrip + Friend WithEvents MruFile1 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents MruFile2 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents MruFile3 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents MruFile4 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents MruFile5 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents MruFile6 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents MruFile7 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents MruFile8 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents MruTitle As System.Windows.Forms.ToolStripTextBox + Friend WithEvents MruSep As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ContextMenuMruScripts As System.Windows.Forms.ContextMenuStrip + Friend WithEvents MruSTitle As System.Windows.Forms.ToolStripTextBox + Friend WithEvents MruSSep As System.Windows.Forms.ToolStripSeparator + Friend WithEvents MruSFile1 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents MruSFile2 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents MruSFile3 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents MruSFile4 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents MruSFile5 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents MruSFile6 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents MruSFile7 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents MruSFile8 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents btnMergeSurf As System.Windows.Forms.Button + Friend WithEvents btnInvertSurf As System.Windows.Forms.Button End Class diff --git a/Form1.resx b/Form1.resx index f9f4ef3..de248a9 100644 --- a/Form1.resx +++ b/Form1.resx @@ -196,32 +196,32 @@ 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 + AAAASUVORK5CYII= @@ -329,14 +329,15 @@ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAAd0SU1FB94KEgogBbw5BbEAAAGbSURBVFhHxZQ9TgJRFIVP438QNBZuhAhI3ICO - BBM2YEFh5MeEqB3T0hhNRIPLoLB3E3Y2bmScQ/KSm8kZHMR5FF9z8t47373FQxRFmTgdo6byZZGhggIk - 7KNE1Jm/IEPF3gBvFAgmqK9MgARj1MnoEgWizi6CDBVOYLeN6Uwi3oRXgeIdRk5gJhELkMEAO0TdyYIM - FRQgTiApoe5kQYYKJ1D+xomVOH/FMXm4wRZRd+chQ4UVUBLchBeBw3fcKomzZ1RJp4MNot5QyFBhBeZJ - cBNeBNIkghdUSBhinai3LDJUOIH9Rzxlkog3kZtAUuLgHtNSFx+keI1PEvRQvohRb1lkqEgKOAmWr0zA - Fheu8EVY3uyhzvJhG9vqLYsMFUmB5OROwJbnJpA2eaOLGssX+ZBkqHACaZPb8lwF1OTNPqqztQ+xqe7O - Q4YKW24FbHmuAmryoIMKy8PW7x9OGjJUJAVsuRcBO3mjhyOWT9pYU2cXQYYKJ8BywnLvApyaH81/FDtk - qGC5W/vKBFS+LDL0iQx9IkOfyNAfEX4Asj8tHRoshHQAAAAASUVORK5CYII= + xAAADsQBlSsOGwAAAAd0SU1FB98DBxcKNDf57/kAAAHCSURBVFhHxZQ7TgJRGIVP4zsIGgs3QgQkbkBH + ookbsKAw8jAhase0NEYT0eAyKOzdhJ2NGxnnTLzmz81hHCAMJF8YDv+957u3GERRlInjIWoqnxcZKihA + wi5KRM3MggwVOz28USAYob40ARIMUSeDSxSImp0GGSqcwHYT40QivolcBYp3GDiBRCIWIL0etohakwUZ + KihAnIAvodZkQYYKJ1D+xpGVOH3FIXm4wQZRa9OQocIKKAneRC4C+++4VRInz6iSVgtrRO2hkKHCCqRJ + 8CZyEZgkEbygQsIQq0TtZZGhwgnsPuIpk0R8EwsT8CX27jEutfFBitf4JEEH5fMYtZdFhgpfwEmwfGkC + trhwhS/C8rMO6izvN7Gp9rLIUOEL+Cd3ArZ8YQKTTt5oo8byaV5IMlQ4gUknt+ULFVAnP+uimlx7H+tq + rU/8qf892z/SsOVWwJZnEWB5TOgk5JBCnTxoocLy8OL/Fw5x5b/PiYQcVPgCtnwKAZZagVAOKuzJGx0c + sHzUxIqaTcMKJN/2zzScAMsJy3MX4Kn5opml2MFiR/LbH5gEy921zyPgI0MFy1U+LzLMExnmiQzzRIb5 + EeEHXO78c7eoXAcAAAAASUVORK5CYII= @@ -730,7 +731,7 @@ xX7bJ7sAAAAASUVORK5CYII= - + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO xAAADsQBlSsOGwAAAAd0SU1FB94LFRAUF0WssKEAAAEpSURBVFhHxZHLccMwDAV1TTcpwMWlmdzSUi72 @@ -881,66 +882,66 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC4 - DQAAAk1TRnQBSQFMAgEBDgEAAVgBDwFYAQ8BEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo - AwABQAMAAUADAAEBAQABCAYAARAYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA - AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 - AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA - AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm - AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM - AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA - ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz - AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ - AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM - AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA - AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA - AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ - AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ - AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA - AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm - ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ - Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz - AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA - AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM - AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM - ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM - Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA - AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM - AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ - AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz - AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm - AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw - AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/0MAC/w1AAL8BwAC/AcA - B/wmAAH8AgAB/AUAAfwBAAH8CQAD/CgAAfwDAAH8AwAB/AIAAfwJAAP8KAAB/AQAAfwBAAH8AwAB/AkA - A/woAAH8BAAC/AQAAfwJAAP8JwAB/AEABPwBAAL8BAAB/AgAA/wnAAL8BQAB/AEAAfwDAAH8CAAD/CgA - AfwFAAH8AgAB/AIAAfwIAAP8KQAB/AMAAfwEAAH8AQAB/AgAA/wqAAL8AQAB/AUAAvwEAAH8AwAD/AMA - AfwoAAL8AwAE/AQAAfwDAAP8AwAB/CkABPwIAAv89QAC/CMABvwPAAL8BAAC/CMAB/wNAAP8BAAC/A0A - AvwZAAL8DAAD/AUAAvwNAAL8GgAC/AoAA/wGAAP8DAAC/AUABfwQAAL8CQAD/AgAAvwMAAL8BAAH/AMA - AvwKAAL8CAAD/AkAA/wLAAP8AgAD/AMAAvwDAAL8CgAC/AcAA/wLAAP8CwAG/AUAAvwCAAL8CgAC/AYA - A/wMAAP8DAAD/AcAAvwCAAL8CgAC/AUAA/wOAAT8FAAC/AIAAvwKAAL8BAAD/BAABfwSAAL8AgAC/AoA - AvwDAAP8EwAH/BIAA/wIAAP8AwAC/BYABfwTAAz8NQAJ/IAAAfk/AAL5NwAK+QIACNkKAAL8IAAK+QoA - AdkJAAP8HgAC+gYAAvkMAAHZCQAD/BAAAvwJAAL8A/oFAAH5BAAI2QIAAdkJAAP8DgAE/AgAAvwBAAP6 - CgAI2QIAAdkJAAP8AgAC/AgABvwHAAL8AgAD+goACNkCAAHZCQAD/AEAAvwIAAb8BwAC/AMAA/oBAAH6 - CAAI2QIAAdkJAAX8CQAE/AgAAvwEAAT6CQAI2QwABPwKAAL8CQAC/AUAA/oKAAjZCQAG/BUAAvwEAAT6 - CwAI2QgABvwTAAb8OwAE/D0AAvyOAAP5A/oD+wP8NAAD+QP6A/sD/BcABPwIAAmsCAAD+QP6A/sD/AkA - AvkLAAT8AgAC+QUACawBhQcAA/kD+gP7A/wJAAL5CgAE/AEAA/kGAAmsAoUGAAP5A/oD+wP8FgAC/AEA - AvkDAAIEAwAJrAOFBQAD+QP6A/sD/AkAAvkMAAL5AgAD+gIEAwAJrASFBAAD+QP6A/sD/AkAAvkLAAL5 - AQAE+gEAAgQEAAjZBYUDAAP5A/oD+wP8CgAC+QgAA/kE+gMAAgQFAAjZBYUCAAP5A/oD+wP8CwAC+QYA - AvkCAAL6BQACBAYACNkEhQIAA/kD+gP7A/wHAAL5AgAC+QkAAvoCAAMHCgAI2QOFAgAD+QP6A/sD/AcA - AvkCAAL5CQAC+gIAAwcLAAjZAoUCAAP5A/oD+wP8CAAE+QsAAfoRAAjZAYUCAAP5A/oD+wP8NAAD+QP6 - A/sD/HIAAUIBTQE+BwABPgMAASgDAAFAAwABQAMAAQEBAAEBBgABAhYAA/8BAAT/BAABwAEHAv8EAAHP - AecB8AEfBAABtwHXAfwBfwQAAbsBtwH8AX8EAAG9AXcB/AF/BAABvAH3AfwBfwQAAUIBewH8AX8EAAE+ - AbsB/AF/BAABvgHbAfwBfwQAAd0B6wH8AX8EAAHlAfMB3AF3BAAB+QHDAdwBdwQAAfwBPwHAAQcEAAT/ - BAAE/wQACv8BzwP/Af4BBwH/AfMBzwP/Af4BAwH/AeMBzwH/AZ8C/wHzAf8BxwHPAf8BnwL/AfkB/wGP - AccB/wGfAQcB/wH5Af8BHwHnAf8BngEDAZ8B+QH+AT8B4wH/AYwBcwGfAfkB/AF/AfEB/wHAAfkBnwH5 - AfgB/wHxAf8B4wH5AZ8B+QHxAf8B+AF/Af8B+QGfAfkB4wH/AfwBHwH/AfkBnwH5AccC/wEBAv8BjwHx - Ac8C/wHBAv8BwAEDBv8B4AEPD/8B9wb/Ac8B8wb/AYABAQGAAX8B5wP/AYABAQH/Ab8B4wP/AcMB8wH/ - Ad8B8QH/Af4BfwHBAfcBgAFvAfgB/wH8AT8ByAH/AcABNwH8AWcB+AEfAcwBfwHgARsB/gEnAfgBHwHO - AS8B8AENAf8BBwH8AT8BzwEPAfgBBwH/AYcB/gF/Ac8BjwH8AQMB/gEHAv8BzwEPAf4BAQH+AQcC/wED - B/8Bhwf/Ac8R/wHAAQMC/wH4AR8C/wHAAQMC/wHgAWcBgAE/AcABAwH+AX8B0AHLAYABHwHAAQMB/gF/ - AaEBHQGAAQ8BwAEDAv8BsgFxAYABBwHAAQMB/gF/AXkBggGAAQMBwAEDAf4BfwFyARIBwAEBAcABAwH/ - AT8BQAFyAeABAAHAAQMB/wGfARkBEgHwAQABwAEDAfkBnwGyAQ0B+AEAAcABAwH5AZ8BsgENAfwBAAHA - AQMB/AE/AdsBGwH+AQABwAEDAv8C5wL/AcABAwL/AfgBHwr/Cw== + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACw + DQAAAk1TRnQBSQFMAgEBDgEABRABAAEQAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMAAUADAAFA + AwABAQEAAQgGAAEQGAABgAIAAYADAAKAAQABgAMAAYABAAGAAQACgAIAA8ABAAHAAdwBwAEAAfABygGm + AQABMwUAATMBAAEzAQABMwEAAjMCAAMWAQADHAEAAyIBAAMpAQADVQEAA00BAANCAQADOQEAAYABfAH/ + AQACUAH/AQABkwEAAdYBAAH/AewBzAEAAcYB1gHvAQAB1gLnAQABkAGpAa0CAAH/ATMDAAFmAwABmQMA + AcwCAAEzAwACMwIAATMBZgIAATMBmQIAATMBzAIAATMB/wIAAWYDAAFmATMCAAJmAgABZgGZAgABZgHM + AgABZgH/AgABmQMAAZkBMwIAAZkBZgIAApkCAAGZAcwCAAGZAf8CAAHMAwABzAEzAgABzAFmAgABzAGZ + AgACzAIAAcwB/wIAAf8BZgIAAf8BmQIAAf8BzAEAATMB/wIAAf8BAAEzAQABMwEAAWYBAAEzAQABmQEA + ATMBAAHMAQABMwEAAf8BAAH/ATMCAAMzAQACMwFmAQACMwGZAQACMwHMAQACMwH/AQABMwFmAgABMwFm + ATMBAAEzAmYBAAEzAWYBmQEAATMBZgHMAQABMwFmAf8BAAEzAZkCAAEzAZkBMwEAATMBmQFmAQABMwKZ + AQABMwGZAcwBAAEzAZkB/wEAATMBzAIAATMBzAEzAQABMwHMAWYBAAEzAcwBmQEAATMCzAEAATMBzAH/ + AQABMwH/ATMBAAEzAf8BZgEAATMB/wGZAQABMwH/AcwBAAEzAv8BAAFmAwABZgEAATMBAAFmAQABZgEA + AWYBAAGZAQABZgEAAcwBAAFmAQAB/wEAAWYBMwIAAWYCMwEAAWYBMwFmAQABZgEzAZkBAAFmATMBzAEA + AWYBMwH/AQACZgIAAmYBMwEAA2YBAAJmAZkBAAJmAcwBAAFmAZkCAAFmAZkBMwEAAWYBmQFmAQABZgKZ + AQABZgGZAcwBAAFmAZkB/wEAAWYBzAIAAWYBzAEzAQABZgHMAZkBAAFmAswBAAFmAcwB/wEAAWYB/wIA + AWYB/wEzAQABZgH/AZkBAAFmAf8BzAEAAcwBAAH/AQAB/wEAAcwBAAKZAgABmQEzAZkBAAGZAQABmQEA + AZkBAAHMAQABmQMAAZkCMwEAAZkBAAFmAQABmQEzAcwBAAGZAQAB/wEAAZkBZgIAAZkBZgEzAQABmQEz + AWYBAAGZAWYBmQEAAZkBZgHMAQABmQEzAf8BAAKZATMBAAKZAWYBAAOZAQACmQHMAQACmQH/AQABmQHM + AgABmQHMATMBAAFmAcwBZgEAAZkBzAGZAQABmQLMAQABmQHMAf8BAAGZAf8CAAGZAf8BMwEAAZkBzAFm + AQABmQH/AZkBAAGZAf8BzAEAAZkC/wEAAcwDAAGZAQABMwEAAcwBAAFmAQABzAEAAZkBAAHMAQABzAEA + AZkBMwIAAcwCMwEAAcwBMwFmAQABzAEzAZkBAAHMATMBzAEAAcwBMwH/AQABzAFmAgABzAFmATMBAAGZ + AmYBAAHMAWYBmQEAAcwBZgHMAQABmQFmAf8BAAHMAZkCAAHMAZkBMwEAAcwBmQFmAQABzAKZAQABzAGZ + AcwBAAHMAZkB/wEAAswCAALMATMBAALMAWYBAALMAZkBAAPMAQACzAH/AQABzAH/AgABzAH/ATMBAAGZ + Af8BZgEAAcwB/wGZAQABzAH/AcwBAAHMAv8BAAHMAQABMwEAAf8BAAFmAQAB/wEAAZkBAAHMATMCAAH/ + AjMBAAH/ATMBZgEAAf8BMwGZAQAB/wEzAcwBAAH/ATMB/wEAAf8BZgIAAf8BZgEzAQABzAJmAQAB/wFm + AZkBAAH/AWYBzAEAAcwBZgH/AQAB/wGZAgAB/wGZATMBAAH/AZkBZgEAAf8CmQEAAf8BmQHMAQAB/wGZ + Af8BAAH/AcwCAAH/AcwBMwEAAf8BzAFmAQAB/wHMAZkBAAH/AswBAAH/AcwB/wEAAv8BMwEAAcwB/wFm + AQAC/wGZAQAC/wHMAQACZgH/AQABZgH/AWYBAAFmAv8BAAH/AmYBAAH/AWYB/wEAAv8BZgEAASEBAAGl + AQADXwEAA3cBAAOGAQADlgEAA8sBAAOyAQAD1wEAA90BAAPjAQAD6gEAA/EBAAP4AQAB8AH7Af8BAAGk + AqABAAOAAwAB/wIAAf8DAAL/AQAB/wMAAf8BAAH/AQAC/wIAA/9DAAv8NQAC/AcAAvwHAAf8JgAB/AIA + AfwFAAH8AQAB/AkAA/woAAH8AwAB/AMAAfwCAAH8CQAD/CgAAfwEAAH8AQAB/AMAAfwJAAP8KAAB/AQA + AvwEAAH8CQAD/CcAAfwBAAT8AQAC/AQAAfwIAAP8JwAC/AUAAfwBAAH8AwAB/AgAA/woAAH8BQAB/AIA + AfwCAAH8CAAD/CkAAfwDAAH8BAAB/AEAAfwIAAP8KgAC/AEAAfwFAAL8BAAB/AMAA/wDAAH8KAAC/AMA + BPwEAAH8AwAD/AMAAfwpAAT8CAAL/PUAAvwjAAb8DwAC/AQAAvwjAAf8DQAD/AQAAvwNAAL8GQAC/AwA + A/wFAAL8DQAC/BoAAvwKAAP8BgAD/AwAAvwFAAX8EAAC/AkAA/wIAAL8DAAC/AQAB/wDAAL8CgAC/AgA + A/wJAAP8CwAD/AIAA/wDAAL8AwAC/AoAAvwHAAP8CwAD/AsABvwFAAL8AgAC/AoAAvwGAAP8DAAD/AwA + A/wHAAL8AgAC/AoAAvwFAAP8DgAE/BQAAvwCAAL8CgAC/AQAA/wQAAX8EgAC/AIAAvwKAAL8AwAD/BMA + B/wSAAP8CAAD/AMAAvwWAAX8EwAM/DUACfyAAAH5PwAC+TcACvkCAAjZCgAC/CAACvkKAAHZCQAD/B4A + AvoGAAL5DAAB2QkAA/wQAAL8CQAC/AP6BQAB+QQACNkCAAHZCQAD/A4ABPwIAAL8AQAD+goACNkCAAHZ + CQAD/AIAAvwIAAb8BwAC/AIAA/oKAAjZAgAB2QkAA/wBAAL8CAAG/AcAAvwDAAP6AQAB+ggACNkCAAHZ + CQAF/AkABPwIAAL8BAAE+gkACNkMAAT8CgAC/AkAAvwFAAP6CgAI2QkABvwVAAL8BAAE+gsACNkIAAb8 + EwAG/DsABPw9AAL8jgAD+QP6A/sD/DQAA/kD+gP7A/wXAAT8CAAJrAgAA/kD+gP7A/wJAAL5CwAE/AIA + AvkFAAmsAYUHAAP5A/oD+wP8CQAC+QoABPwBAAP5BgAJrAKFBgAD+QP6A/sD/BYAAvwBAAL5AwACBAMA + CawDhQUAA/kD+gP7A/wJAAL5DAAC+QIAA/oCBAMACawEhQQAA/kD+gP7A/wJAAL5CwAC+QEABPoBAAIE + BAAI2QWFAwAD+QP6A/sD/AoAAvkIAAP5BPoDAAIEBQAI2QWFAgAD+QP6A/sD/AsAAvkGAAL5AgAC+gUA + AgQGAAjZBIUCAAP5A/oD+wP8BwAC+QIAAvkJAAL6AgADBwoACNkDhQIAA/kD+gP7A/wHAAL5AgAC+QkA + AvoCAAMHCwAI2QKFAgAD+QP6A/sD/AgABPkLAAH6EQAI2QGFAgAD+QP6A/sD/DQAA/kD+gP7A/xyAAFC + AU0BPgcAAT4DAAEoAwABQAMAAUADAAEBAQABAQYAAQIWAAP/AQAE/wQAAcABBwL/BAABzwHnAfABHwQA + AbcB1wH8AX8EAAG7AbcB/AF/BAABvQF3AfwBfwQAAbwB9wH8AX8EAAFCAXsB/AF/BAABPgG7AfwBfwQA + Ab4B2wH8AX8EAAHdAesB/AF/BAAB5QHzAdwBdwQAAfkBwwHcAXcEAAH8AT8BwAEHBAAE/wQABP8EAAr/ + Ac8D/wH+AQcB/wHzAc8D/wH+AQMB/wHjAc8B/wGfAv8B8wH/AccBzwH/AZ8C/wH5Af8BjwHHAf8BnwEH + Af8B+QH/AR8B5wH/AZ4BAwGfAfkB/gE/AeMB/wGMAXMBnwH5AfwBfwHxAf8BwAH5AZ8B+QH4Af8B8QH/ + AeMB+QGfAfkB8QH/AfgBfwH/AfkBnwH5AeMB/wH8AR8B/wH5AZ8B+QHHAv8BAQL/AY8B8QHPAv8BwQL/ + AcABAwb/AeABDw//AfcG/wHPAfMG/wGAAQEBgAF/AecD/wGAAQEB/wG/AeMD/wHDAfMB/wHfAfEB/wH+ + AX8BwQH3AYABbwH4Af8B/AE/AcgB/wHAATcB/AFnAfgBHwHMAX8B4AEbAf4BJwH4AR8BzgEvAfABDQH/ + AQcB/AE/Ac8BDwH4AQcB/wGHAf4BfwHPAY8B/AEDAf4BBwL/Ac8BDwH+AQEB/gEHAv8BAwf/AYcH/wHP + Ef8BwAEDAv8B+AEfAv8BwAEDAv8B4AFnAYABPwHAAQMB/gF/AdABywGAAR8BwAEDAf4BfwGhAR0BgAEP + AcABAwL/AbIBcQGAAQcBwAEDAf4BfwF5AYIBgAEDAcABAwH+AX8BcgESAcABAQHAAQMB/wE/AUABcgHg + AQABwAEDAf8BnwEZARIB8AEAAcABAwH5AZ8BsgENAfgBAAHAAQMB+QGfAbIBDQH8AQABwAEDAfwBPwHb + ARsB/gEAAcABAwL/AucC/wHAAQMC/wH4AR8K/ws= @@ -951,7 +952,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADW - CAAAAk1TRnQBSQFMAgEBAgEAAXgBBgF4AQYBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + CAAAAk1TRnQBSQFMAgEBAgEAATABBwEwAQcBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA @@ -1049,13 +1050,13 @@ - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAHdElNRQffAhUIECU9bmc5AAABJElEQVRYR8WVUQ6CMBBE - +fVOHo6zeDV/TDxE7VQWl9kpUWhrkxdwdtmZIoQppfRXpDgSKZ4lr2sGJ8ZV9QEpngFmxfT2+LATIgjG - c7rclc6shh5v7kLwtSAIAOaGqoO8orFxJoA3r4XIq24OjgZQ5kZp3jcu/zGO5TeZW50JAmBjsA6OhMHQ - XF32GFLkABjghhnVob8gRR8ARmTczBxIkQJ0MwdS3AnQ1BxIsRKguTmQogrAPa2QogjQZfdAihyA6y2R - IgXotnsgRR9A1VsShbxjH6DHHfAzQyHz9YfkCIvHbDO5uDV3IXzfUWCamZfzEoIbegeAqQ8wc0PXAACm - myMVRzwD9QBLgT+/Td+CvN63vhZgNFIciRRHIsWRSHEkUhxHml4ROIeysZlykAAAAABJRU5ErkJggg== + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + xAAADsQBlSsOGwAAAAd0SU1FB98CFQgQJT1uZzkAAAEkSURBVFhHxZVRDoIwEET59U4ejrN4NX9MPETt + VBaX2SlRaGuTF3B22ZkihCml9FekOBIpniWvawYnxlX1ASmeAWbF9Pb4sBMiCMZzutyVzqyGHm/uQvC1 + IAgA5oaqg7yisXEmgDevhcirbg6OBlDmRmneNy7/MY7lN5lbnQkCYGOwDo6EwdBcXfYYUuQAGOCGGdWh + vyBFHwBGZNzMHEiRAnQzB1LcCdDUHEixEqC5OZCiCsA9rZCiCNBl90CKHIDrLZEiBei2eyBFH0DVWxKF + vGMfoMcd8DNDIfP1h+QIi8dsM7m4NXchfN9RYJqZl/MSght6B4CpDzBzQ9cAAKabIxVHPAP1AEuBP79N + 34K83re+FmA0UhyJFEcixZFIcSRSHEeaXhE4h7KxmXKQAAAAAElFTkSuQmCC @@ -1109,6 +1110,27 @@ 7jjsWENEgupQHHZ0iEhQHY7DjjkiElSn4rCjIiJBdToOO0ZEJKi6xFEO9WjULY70EOPlf7GoaxzpIY+n l+geR3pYuYA+11N6+IML1H4HLvn4UQ7xEovL4rDjSHYcyY4j2XEkO45kx3HC4w3Q1q4ttTanIgAAAABJ RU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + xAAADsQBlSsOGwAAAAd0SU1FB98DCAoSIZSisz4AAADSSURBVFhHxY/BDcIwEARdAC3RDs3woAVEG3x4 + UwldGM5SovMxBGHhvcfIyUTJbEqtNRWUSlB+o1wer4Of/QrKLSyeNqDFz/dDyoA1njGgi6sHtHjWgDWc + MaCLqgdQsLtOG+DO+M4oLGmAdykDwn18ZxSW4W/zBsRTOsBHYUDZXW8jvLWiaJKC/np/PCEWIW9AvLVQ + fhrw57jBkgZMiBssaYBFBqDve1j6AZP+fIHlMmBy3GBpYUHcYGlxiwxA39sCpRKUSlAqQakEpRKUSlDq + qOUJ9DK9zyD4S1EAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + xAAADsQBlSsOGwAAAAd0SU1FB98BCQoRC6ZIHS4AAAEaSURBVFhHxY/BkcIwEAQVACmRDsnwIAWKNPjw + 4kEkfIlAaGSJWq1nDTaq1VX1WZ7TVbdDjHEodPSEjltJP+nB/2ZBxy1APiwgi+/hNSSgyocESLl7AGTD + Aqp4SICUdg8I58dBvmuoUJy/BYT98TTbPockD5dnOrYXJFZA8yT/Vwm7601HTL+KPIMzId8jAXKrAZBQ + EKAiWvkC0+V5wOwd96poiRIxVcgI8dUSHYCzGSC/WqLk+e7nAFH5Uosq1E8dYKHleWteypdaQCClqwOU + PG96WIIKf5Rb0NHCCtgqB3S0YAH/yAEdLViAvrMWOlrIgB5yQEeLGtBLDuhoAXFPOaCjRW85oKMndPSE + jp7Q0RM6ekJHT+joRwxv6asQzW7YWBIAAAAASUVORK5CYII= @@ -1192,17 +1214,6 @@ Y4C55tAaQOosc+gKMMscbgvAjp18d86hEWFGgGQcv0Zr90FTwmiAwjie9KsSkv6/r4SRAJl5PLmx/Kos tDAYYN9x+C+5Qgu9AY5vX2UOWhgIsM/L23NdgxbGA/BR9faghTxAI/l8LVpoXFAyJcAo5c4rTNETU/TE FD0xRU9M0RNT9CMsP8YUDae/Iv6fAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - xAAADsQBlSsOGwAAAAd0SU1FB98BCQoRC6ZIHS4AAAEaSURBVFhHxY/BkcIwEAQVACmRDsnwIAWKNPjw - 4kEkfIlAaGSJWq1nDTaq1VX1WZ7TVbdDjHEodPSEjltJP+nB/2ZBxy1APiwgi+/hNSSgyocESLl7AGTD - Aqp4SICUdg8I58dBvmuoUJy/BYT98TTbPockD5dnOrYXJFZA8yT/Vwm7601HTL+KPIMzId8jAXKrAZBQ - EKAiWvkC0+V5wOwd96poiRIxVcgI8dUSHYCzGSC/WqLk+e7nAFH5Uosq1E8dYKHleWteypdaQCClqwOU - PG96WIIKf5Rb0NHCCtgqB3S0YAH/yAEdLViAvrMWOlrIgB5yQEeLGtBLDuhoAXFPOaCjRW85oKMndPSE - jp7Q0RM6ekJHT+joRwxv6asQzW7YWBIAAAAASUVORK5CYII= @@ -1455,8 +1466,14 @@ 17, 53 + + 116, 53 + + + 273, 53 + - 43 + 97 diff --git a/Form1.vb b/Form1.vb index d49de7a..92e5182 100644 --- a/Form1.vb +++ b/Form1.vb @@ -34,6 +34,8 @@ Public Class Form1 Private m_bShowGridFrame As Boolean Private m_bCPlaneTypePos As Boolean Private WithEvents m_Controller As New Controller + Private m_MruFiles As New MruList + Private m_MruScripts As New MruList Public Function GetInstance() As Integer Return m_nInstance @@ -47,6 +49,7 @@ Public Class Form1 Return m_sDataRoot End Function + '-------------------------------- Form ------------------------------------------------------------ Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load ' Installo aggiornamento interfaccia @@ -208,6 +211,9 @@ Public Class Form1 ElseIf bLuaReg Then tsStatusReg.BackColor = Color.Red End If + ' Impostazioni MruLists + m_MruFiles.Init(m_sIniFile, S_MRUFILES, 8) + m_MruScripts.Init(m_sIniFile, S_MRUSCRIPTS, 8) ' Apro progetto vuoto m_Controller.NewProject(True) ' Impostazione Testi e ToolTips @@ -332,6 +338,7 @@ Public Class Form1 End If End Sub + '-------------------------------- Events management ---------------------------------------------- Private Sub OnCursorPos(ByVal sender As Object, ByVal sCursorPos As String) Handles Scene1.OnCursorPos tsStatusCursorPos.Text = sCursorPos @@ -357,8 +364,8 @@ Public Class Form1 m_Controller.MouseSelectedLayer(nId) End Sub - Private Sub OnMousePointFromSelection(ByVal sender As Object, ByVal PtP As Point3d) Handles Scene1.OnMousePointFromSelection - m_Controller.SetLastPoint3d(PtP) + Private Sub OnMousePointFromSelection(ByVal sender As Object, ByVal PtP As Point3d, ByVal nAux As Integer) Handles Scene1.OnMousePointFromSelection + m_Controller.SetPointFromSelection(PtP, nAux) End Sub Private Sub OnMouseDone(ByVal sender As Object) Handles Scene1.OnMouseDone @@ -389,7 +396,7 @@ Public Class Form1 Private Sub OnNewProject(ByVal sender As Object, ByVal bOk As Boolean) Handles m_Controller.OnNewProject If Not bOk Then - MessageBox.Show("Error on new file", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) + MessageBox.Show(EgtMsg(10002), EgtMsg(10001), MessageBoxButtons.OK, MessageBoxIcon.Error) ' Error on new file - Error End If End Sub @@ -399,18 +406,26 @@ Public Class Form1 Private Sub OnOpenProject(ByVal sender As Object, ByVal sFile As String, ByVal bOk As Boolean) Handles m_Controller.OnOpenProject WritePrivateProfileString(S_GENERAL, K_LASTNGEDIR, Path.GetDirectoryName(sFile), m_sIniFile) - If Not bOk Then - MessageBox.Show("Error opening file", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) + If bOk Then + m_MruFiles.Add(sFile) + Else + m_MruFiles.Remove(sFile) + Dim sMsg As String = EgtMsg(10003) & " '" & sFile & "'" 'Error opening file + MessageBox.Show(sMsg, EgtMsg(10001), MessageBoxButtons.OK, MessageBoxIcon.Error) 'Error End If End Sub - Private Sub OnSavingProject(ByVal sender As Object, ByVal sFile As String) Handles m_Controller.OnSavingProject - WritePrivateProfileString(S_GENERAL, K_LASTNGEDIR, Path.GetDirectoryName(sFile), m_sIniFile) + Private Sub OnSavingProject(ByVal sender As Object) Handles m_Controller.OnSavingProject End Sub - Private Sub OnSavedProject(ByVal sender As Object, ByVal bOk As Boolean) Handles m_Controller.OnSavedProject - If Not bOk Then - MessageBox.Show("Error saving file", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) + Private Sub OnSavedProject(ByVal sender As Object, ByVal sFile As String, ByVal bOk As Boolean) Handles m_Controller.OnSavedProject + WritePrivateProfileString(S_GENERAL, K_LASTNGEDIR, Path.GetDirectoryName(sFile), m_sIniFile) + If bOk Then + m_MruFiles.Add(sFile) + Else + m_MruFiles.Remove(sFile) + Dim sMsg As String = EgtMsg(10004) & " '" & sFile & "'" 'Error saving file + MessageBox.Show(sMsg, EgtMsg(10001), MessageBoxButtons.OK, MessageBoxIcon.Error) ' Error End If End Sub @@ -418,35 +433,40 @@ Public Class Form1 If bOkType Then ClearObjTree() Else - MessageBox.Show("File type unknown", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) + MessageBox.Show(EgtMsg(10005), EgtMsg(10001), MessageBoxButtons.OK, MessageBoxIcon.Error) ' File type unknown - Error End If End Sub Private Sub OnImportedProject(ByVal sender As Object, ByVal sFile As String, ByVal bOk As Boolean) Handles m_Controller.OnImportedProject WritePrivateProfileString(S_GENERAL, K_LASTIMPDIR, Path.GetDirectoryName(sFile), m_sIniFile) If Not bOk Then - MessageBox.Show("Error importing file", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) + Dim sMsg As String = EgtMsg(10006) & " '" & sFile & "'" 'Error importing file + MessageBox.Show(sMsg, EgtMsg(10001), MessageBoxButtons.OK, MessageBoxIcon.Error) ' Error End If End Sub - Private Sub OnExportingProject(ByVal sender As Object, ByVal sFile As String) Handles m_Controller.OnExportingProject + Private Sub OnExportingProject(ByVal sender As Object) Handles m_Controller.OnExportingProject + End Sub + + Private Sub OnExportedProject(ByVal sender As Object, ByVal sFile As String, ByVal bOk As Boolean) Handles m_Controller.OnExportedProject WritePrivateProfileString(S_GENERAL, K_LASTEXPDIR, Path.GetDirectoryName(sFile), m_sIniFile) - End Sub - - Private Sub OnExportedProject(ByVal sender As Object, ByVal bOk As Boolean) Handles m_Controller.OnExportedProject If Not bOk Then - MessageBox.Show("Error exporting file", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) + Dim sMsg As String = EgtMsg(10007) & " '" & sFile & "'" 'Error exporting file + MessageBox.Show(sMsg, EgtMsg(10001), MessageBoxButtons.OK, MessageBoxIcon.Error) ' Error End If End Sub - Private Sub OnExecutingScript(ByVal sender As Object, ByVal sFile As String) Handles m_Controller.OnExecutingScript - WritePrivateProfileString(S_GENERAL, K_LASTLUADIR, Path.GetDirectoryName(sFile), m_sIniFile) + Private Sub OnExecutingScript(ByVal sender As Object) Handles m_Controller.OnExecutingScript ClearObjTree() End Sub - Private Sub OnExecutedScript(ByVal sender As Object, ByVal bOk As Boolean, ByVal sError As String) Handles m_Controller.OnExecutedScript - If Not bOk Then - MessageBox.Show(sError, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) + Private Sub OnExecutedScript(ByVal sender As Object, ByVal sFile As String, ByVal bOk As Boolean, ByVal sError As String) Handles m_Controller.OnExecutedScript + WritePrivateProfileString(S_GENERAL, K_LASTLUADIR, Path.GetDirectoryName(sFile), m_sIniFile) + If bOk Then + m_MruScripts.Add(sFile) + Else + m_MruScripts.Remove(sFile) + MessageBox.Show(sError, EgtMsg(10001), MessageBoxButtons.OK, MessageBoxIcon.Error) ' Error End If End Sub @@ -492,7 +512,7 @@ Public Class Form1 btnCplaneOrigin.Enabled = m_bShowGrid btnCplaneRotate.Enabled = m_bShowGrid btnCplane3P.Enabled = m_bShowGrid - btnCPlanePerpCurve.Enabled = m_bShowGrid + btnCPlanePerpObj.Enabled = m_bShowGrid btnCPlaneObj.Enabled = m_bShowGrid And bSelOk ' Draw btnPoint.Enabled = bLayerOk @@ -512,6 +532,8 @@ Public Class Form1 btnRevolve.Enabled = bLayerOk And bSelOk btnScrew.Enabled = bLayerOk And bSelOk btnRuled.Enabled = bLayerOk And bSelOk + btnMergeSurf.Enabled = bSelOk + btnInvertSurf.Enabled = bSelOk ' Edit btnDelete.Enabled = bSelOk btnChangeLayer.Enabled = bSelOk @@ -522,7 +544,6 @@ Public Class Form1 btnJoinCurve.Enabled = bLayerOk And bSelOk btnExplodeCurve.Enabled = bSelOk btnSetCurveTh.Enabled = bSelOk - btnInvertSurf.Enabled = bSelOk ' Transform btnMove.Enabled = bSelOk btnRotate.Enabled = bSelOk @@ -535,7 +556,7 @@ Public Class Form1 ' File TabFile.Text = EgtMsg(1) ' File SetTextAndToolTip(btnNew, 3, 0) ' New - SetTextAndToolTip(btnOpen, 5, 0) ' Open + SetTextAndToolTip(btnOpen, 5, 6) ' Open
Recent files (Shift) SetTextAndToolTip(btnInsert, 7, 0) ' Insert SetTextAndToolTip(btnSave, 9, 0) ' Save SetTextAndToolTip(btnSaveAs, 11, 0) ' SaveAs @@ -576,7 +597,7 @@ Public Class Form1 SetTextAndToolTip(btnCplaneOrigin, 219, 220) ' Origin / Set Cplane Origin SetTextAndToolTip(btnCplaneRotate, 221, 222) ' Rotate / Rotate Cplane
3D Rotate Cplane (Shift) SetTextAndToolTip(btnCplane3P, 223, 224) ' 3 Points / Set Cplane from 3 Points - SetTextAndToolTip(btnCPlanePerpCurve, 225, 226) ' PerpCrv / Set Cplane Perpendicular to Curve + SetTextAndToolTip(btnCPlanePerpObj, 225, 226) ' PerpCrv / Set Cplane Perpendicular to Curve SetTextAndToolTip(btnCPlaneObj, 227, 228) ' Object / Set Cplane from Object 'Draw TabDraw.Text = EgtMsg(301) ' Draw @@ -589,7 +610,7 @@ Public Class Form1 SetTextAndToolTip(btnArc3P, 315, 316) ' Arc 3P / Arc : 3 Points SetTextAndToolTip(btnArcPDP, 317, 318) ' Arc SDE / Arc : Start, Direction, End SetTextAndToolTip(btnRectangle2P, 319, 320) ' Rect 2P / Rectangle : 2 Points - SetTextAndToolTip(btnPolygon, 321, 322) ' Polygon / Polygon : Side with 2 Points + SetTextAndToolTip(btnPolygon, 321, 322) ' Polygon / Polygon : Side with 2 Points SetTextAndToolTip(btnText, 323, 324) ' Text / Text
Advanced Text (Shift) ' Construct TabConstruct.Text = EgtMsg(401) ' Construct @@ -598,6 +619,8 @@ Public Class Form1 SetTextAndToolTip(btnRevolve, 407, 408) ' Revolve / Surface : curve revolution SetTextAndToolTip(btnScrew, 409, 410) ' Screw / Surface : curve screwing SetTextAndToolTip(btnRuled, 411, 412) ' Ruled / Surface : ruled between 2 curves + SetTextAndToolTip(btnMergeSurf, 413, 414) ' Merge / Merge Surfaces + SetTextAndToolTip(btnInvertSurf, 415, 416) ' Flip / Flip Surface Outside ' Edit TabEdit.Text = EgtMsg(501) ' Edit SetTextAndToolTip(btnDelete, 503, 504) ' Delete Objects @@ -609,7 +632,6 @@ Public Class Form1 SetTextAndToolTip(btnJoinCurve, 515, 516) ' Join Curves SetTextAndToolTip(btnExplodeCurve, 517, 518) ' Explode Text or Curve in Components SetTextAndToolTip(btnSetCurveTh, 519, 520) ' Set Curve Thickness and Extrusion - SetTextAndToolTip(btnInvertSurf, 521, 522) ' Flip Surface Outside ' Transform TabTransform.Text = EgtMsg(601) ' Transform SetTextAndToolTip(btnMove, 603, 604) ' Move / Object Move @@ -629,15 +651,19 @@ Public Class Form1 End Sub - '-------------------------------- Buttons -------------------------------------------------------- + '-------------------------------- Top Commands --------------------------------------------------- Private Sub btnNew_Click(sender As System.Object, e As System.EventArgs) Handles btnNew.Click m_Controller.NewProject(True) End Sub Private Sub btnOpen_Click(sender As System.Object, e As System.EventArgs) Handles btnOpen.Click - Dim sDir As String = String.Empty - GetPrivateProfileString(S_GENERAL, K_LASTNGEDIR, "", sDir, m_sIniFile) - m_Controller.OpenProject(sDir) + If (ModifierKeys And Keys.Shift) <> Keys.Shift Then + Dim sDir As String = String.Empty + GetPrivateProfileString(S_GENERAL, K_LASTNGEDIR, "", sDir, m_sIniFile) + m_Controller.OpenProject(sDir) + Else + ShowMenuMruFiles(btnOpen, New Point(0, btnOpen.Height)) + End If End Sub Private Sub btnInsert_Click(sender As System.Object, e As System.EventArgs) Handles btnInsert.Click @@ -682,9 +708,13 @@ Public Class Form1 End Sub Private Sub btnExec_Click(sender As System.Object, e As System.EventArgs) Handles btnExec.Click - Dim sDir As String = String.Empty - GetPrivateProfileString(S_GENERAL, K_LASTLUADIR, "", sDir, m_sIniFile) - m_Controller.Exec(sDir) + If (ModifierKeys And Keys.Shift) <> Keys.Shift Then + Dim sDir As String = String.Empty + GetPrivateProfileString(S_GENERAL, K_LASTLUADIR, "", sDir, m_sIniFile) + m_Controller.Exec(sDir) + Else + ShowMenuMruScripts(btnExec, New Point(0, btnExec.Height)) + End If End Sub Private Sub btnWireFrame_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles btnWireFrame.CheckedChanged @@ -831,7 +861,7 @@ Public Class Form1 m_Controller.ExecuteCommand(CMD.GRID_3P) End Sub - Private Sub btnCplanePerpCurve_Click(sender As System.Object, e As System.EventArgs) Handles btnCPlanePerpCurve.Click + Private Sub btnCplanePerpCurve_Click(sender As System.Object, e As System.EventArgs) Handles btnCPlanePerpObj.Click m_Controller.ExecuteCommand(CMD.GRID_PERPCURVE) End Sub @@ -921,6 +951,14 @@ Public Class Form1 m_Controller.ExecuteCommand(CMD.RULED) End Sub + Private Sub btnMergeSurf_Click(sender As System.Object, e As System.EventArgs) Handles btnMergeSurf.Click + m_Controller.ExecuteCommand(CMD.MERGESURF) + End Sub + + Private Sub btnInvertSurf_Click(sender As System.Object, e As System.EventArgs) Handles btnInvertSurf.Click + m_Controller.ExecuteCommand(CMD.INVERTSURF) + End Sub + Private Sub btnDelete_Click(sender As System.Object, e As System.EventArgs) Handles btnDelete.Click m_Controller.SetLastInteger(GDB_ID.SEL) m_Controller.ExecuteCommand(CMD.DELETE) @@ -968,10 +1006,6 @@ Public Class Form1 m_Controller.ExecuteCommand(CMD.SETCURVETHICKNESS) End Sub - Private Sub btnInvertSurf_Click(sender As System.Object, e As System.EventArgs) Handles btnInvertSurf.Click - m_Controller.ExecuteCommand(CMD.INVERTSURF) - End Sub - Private Sub btnMove_Click(sender As System.Object, e As System.EventArgs) Handles btnMove.Click m_Controller.ExecuteCommand(CMD.MOVE) End Sub @@ -1106,6 +1140,7 @@ Public Class Form1 m_Controller.Done(InputText.Text) End Sub + '-------------------------------- Command Box ---------------------------------------------------- Private Sub tboxCmd_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles tboxCmd.KeyDown If (e.KeyCode = Keys.Enter) Then @@ -1465,6 +1500,7 @@ Public Class Form1 End If End Sub + '-------------------------------- Program Title -------------------------------------------------- Private Sub EmitTitle() ' nome file @@ -1482,6 +1518,7 @@ Public Class Form1 Me.Text = sTitle End Sub + '-------------------------------- Status Bar ----------------------------------------------------- Private Sub ToolStripStatusSnapPointType_Changed(ByVal sender As Object, ByVal nSpType As SP) Handles Scene1.OnChangedSnapPointType Select Case nSpType @@ -1535,4 +1572,60 @@ Public Class Form1 Scene1.SetGridCursorPos(m_bCPlaneTypePos) End Sub + + '-------------------------------- MRU Files Menu ------------------------------------------------- + Private Sub ShowMenuMruFiles(ByVal control As Control, ByVal Pos As Point) + Dim sFileName As String = String.Empty + For Each Item As ToolStripItem In ContextMenuMruFiles.Items + Dim nInd As Integer + If Item.Name = "MruTitle" Then + Item.Text = EgtMsg(19) ' Recent files + Item.Visible = True + ElseIf Item.Name = "MruSep" Then + Item.Visible = True + ElseIf Int32.TryParse(Item.Name.Replace("MruFile", ""), nInd) AndAlso + m_MruFiles.GetFileName(nInd, sFileName) Then + Item.Text = sFileName + Item.Visible = True + Else + Item.Visible = False + End If + Next + ContextMenuMruFiles.Show(control, Pos) + End Sub + + Private Sub OnMenuMruFiles_ItemClick(sender As Object, e As ToolStripItemClickedEventArgs) Handles ContextMenuMruFiles.ItemClicked + If e.ClickedItem.Text <> "" Then + m_Controller.OpenProject(e.ClickedItem.Text, False) + End If + End Sub + + '-------------------------------- MRU Scripts Menu ----------------------------------------------- + Private Sub ShowMenuMruScripts(ByVal control As Control, ByVal Pos As Point) + Dim sFileName As String = String.Empty + For Each Item As ToolStripItem In ContextMenuMruScripts.Items + Dim nInd As Integer + If Item.Name = "MruSTitle" Then + Item.Text = EgtMsg(20) ' Recent scripts + Item.Visible = True + ElseIf Item.Name = "MruSSep" Then + Item.Visible = True + ElseIf Int32.TryParse(Item.Name.Replace("MruSFile", ""), nInd) AndAlso + m_MruScripts.GetFileName(nInd, sFileName) Then + Item.Text = sFileName + Item.Visible = True + Else + Item.Visible = False + End If + Next + ContextMenuMruScripts.Show(control, Pos) + End Sub + + Private Sub OnMenuMruScripts_ItemClick(sender As Object, e As ToolStripItemClickedEventArgs) Handles ContextMenuMruScripts.ItemClicked + If e.ClickedItem.Text <> "" Then + ContextMenuMruScripts.Close() + m_Controller.Exec(e.ClickedItem.Text, False) + End If + End Sub + End Class diff --git a/MruList.vb b/MruList.vb new file mode 100644 index 0000000..38a374a --- /dev/null +++ b/MruList.vb @@ -0,0 +1,114 @@ +'---------------------------------------------------------------------------- +' EgalTech 2015-2015 +'---------------------------------------------------------------------------- +' File : MruList.vb Data : 27.02.15 Versione : 1.6b7 +' Contenuto : Classe MruList (gestione elenco file appena usati). +' +' +' +' Modifiche : 27.02.15 DS Creazione modulo. +' +' +'---------------------------------------------------------------------------- + +'-------------------------------------------------------------------------------------------------- +Public Class MruList + + '--------------------------------------------------------------------------- + Private m_sIniFile As String + Private m_sSection As String + Private m_nMaxEntries As Integer + Private m_FileNames As Collection + + '--------------------------------------------------------------------------- + Public Sub Init(ByVal sIniFile As String, ByVal sSection As String, ByVal nMaxEntries As Integer) + ' Inizializzo + m_sIniFile = sIniFile + m_sSection = sSection + m_nMaxEntries = nMaxEntries + m_FileNames = New Collection + ' Carico lista da Ini. + LoadMruList() + End Sub + + '--------------------------------------------------------------------------- + Private Sub LoadMruList() + ' Pulisco la lista dei file + m_FileNames.Clear() + ' Carico la lista dei file salvati in INI + Dim sFileName As String = String.Empty + For i As Integer = 1 To m_nMaxEntries + Dim sKey As String = K_FILE + i.ToString() + If GetPrivateProfileString(m_sSection, sKey, "", sFileName, m_sIniFile) > 0 Then + m_FileNames.Add(sFileName, sFileName) + End If + Next + End Sub + + '--------------------------------------------------------------------------- + Private Sub SaveMruList() + For i As Integer = 1 To m_nMaxEntries + Dim sKey As String = K_FILE + i.ToString() + If i <= m_FileNames.Count Then + WritePrivateProfileString(m_sSection, sKey, m_FileNames(i).ToString, m_sIniFile) + Else + WritePrivateProfileString(m_sSection, sKey, "", m_sIniFile) + End If + Next + End Sub + + '--------------------------------------------------------------------------- + Public Sub Add(ByVal sFileName As String) + ' Se già presente, rimuovo il file dalla lista + Dim i As Integer = FileNameIndex(sFileName) + If i > 0 Then + m_FileNames.Remove(i) + End If + ' Aggiungo il file in cima alla lista + If m_FileNames.Count > 0 Then + m_FileNames.Add(sFileName, sFileName, m_FileNames.Item(1)) + Else + m_FileNames.Add(sFileName, sFileName) + End If + ' Se la lista ha superato la massima dimensione, cancello l'ultimo record + If m_FileNames.Count > m_nMaxEntries Then + m_FileNames.Remove(m_nMaxEntries + 1) + End If + ' Salvo la lista aggiornata + SaveMruList() + End Sub + + '--------------------------------------------------------------------------- + Private Function FileNameIndex(ByVal sFileName As String) As Integer + For i As Integer = 1 To m_FileNames.Count + If String.Compare(m_FileNames(i).ToString, sFileName, True) = 0 Then + Return i + End If + Next + Return 0 + End Function + + '--------------------------------------------------------------------------- + Public Sub Remove(ByVal sFileName As String) + Dim i As Integer = FileNameIndex(sFileName) + If i > 0 Then + ' Rimuovo il file + m_FileNames.Remove(i) + ' Salvo lalista aggiornata + SaveMruList() + End If + End Sub + + '--------------------------------------------------------------------------- + Public Function GetFileName(ByVal nInd As Integer, ByRef sFileName As String) As Boolean + If nInd > 0 And nInd <= m_FileNames.Count() Then + sFileName = m_FileNames(nInd).ToString() + Return True + Else + sFileName = String.Empty + Return False + End If + + End Function + +End Class diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb index 0b3df7f..d4a92ff 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/Exec.png b/Resources/Exec.png index b72c41c..00dcf3e 100644 Binary files a/Resources/Exec.png and b/Resources/Exec.png differ diff --git a/Resources/MergeSurf.png b/Resources/MergeSurf.png new file mode 100644 index 0000000..b56b91b Binary files /dev/null and b/Resources/MergeSurf.png differ diff --git a/Resources/Open.png b/Resources/Open.png index 198690a..99f8571 100644 Binary files a/Resources/Open.png and b/Resources/Open.png differ diff --git a/Scene.vb b/Scene.vb index b457057..d9e80fc 100644 --- a/Scene.vb +++ b/Scene.vb @@ -190,7 +190,7 @@ Public Class Scene Public Event OnMouseSelectedPart(ByVal sender As Object, ByVal nId As Integer) Public Event OnMouseSelectedLayer(ByVal sender As Object, ByVal nId As Integer) Public Event OnMouseAnalyzed(ByVal sender As Object, ByVal nId As Integer) - Public Event OnMousePointFromSelection(ByVal sender As Object, ByVal PtP As Point3d) + Public Event OnMousePointFromSelection(ByVal sender As Object, ByVal PtP As Point3d, ByVal nAux As Integer) Public Event OnMouseDownScene(ByVal sender As Object) Public Event OnCursorPos(ByVal sender As Object, ByVal sCursorPos As String) Public Event OnShowDistance(ByVal sender As Object, ByVal sDistance As String) @@ -252,8 +252,9 @@ Public Class Scene End Select ' evento per posizione punto di selezione Dim PtTemp As Point3d - If EgtGetPointFromSelect(nId, e.Location, PtTemp) Then - RaiseEvent OnMousePointFromSelection(Me, PtTemp) + Dim nAux As Integer + If EgtGetPointFromSelect(nId, e.Location, PtTemp, nAux) Then + RaiseEvent OnMousePointFromSelection(Me, PtTemp, nAux) End If End If ' se stato misura di distanza (primo punto) @@ -678,7 +679,6 @@ Public Class Scene Private Sub PrepareMenuScene() ' per selezione oggetti If m_nStatus = ST.SEL Then - MenuScene.Visible = True For Each i As ToolStripItem In MenuScene.Items If i.Name = "cmdSelectAll" Then i.Text = EgtMsg(1001) ' Select All @@ -701,9 +701,9 @@ Public Class Scene i.Visible = False End If Next + MenuScene.Visible = True ' per selezione punti ElseIf m_nStatus = ST.GETDIST Or m_nStatus = ST.GETDIST2 Or m_nStatus = ST.SELPOINT Then - MenuScene.Visible = True ' se drag abilitato If m_bDragOn Then For Each i As ToolStripItem In MenuScene.Items @@ -784,6 +784,7 @@ Public Class Scene End If Next End If + MenuScene.Visible = True ' altri casi Else MenuScene.Visible = False diff --git a/TestEIn.vbproj b/TestEIn.vbproj index beb8ca7..00b9404 100644 --- a/TestEIn.vbproj +++ b/TestEIn.vbproj @@ -170,6 +170,7 @@ + True True @@ -505,6 +506,9 @@ + + + IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\TestEIn\TestEInR32.exe