Compare commits

...

15 Commits

Author SHA1 Message Date
Emmanuele Sassi 90adb8b200 - Completata implementazione ModifyPartPanel
- Corretto slice senza parametri di lavorazione
- Corretta aggiunta di piu' none in lista lavorazioni
- Aggiunto modulo per gestione colori delle superfici
2022-10-27 10:19:47 +02:00
Emmanuele Sassi d41f20d95e - Modifiche per contextmenu 2022-10-26 12:20:29 +02:00
Emmanuele Sassi 042d308648 - Inizio implementazione menu' ModifyPart 2022-10-25 21:15:37 +02:00
Emmanuele Sassi c13122198e - Aggiunta finestra opzioni 2022-10-25 12:59:07 +02:00
Emmanuele Sassi 8201c93a8e - Modifiche spostamento della costante k da materiale a lavorazione 2022-10-24 20:28:54 +02:00
Emmanuele Sassi 1d7e26f18d - Gestita slicing direction con anche valore horizontal
- Gestite machine sia con che senza direzione di stampa orizzontale
- bloccata interfaccia durante edit CurrMachining
2022-10-24 16:19:27 +02:00
Emmanuele Sassi 82fd57d838 - Sostituiti menu' popup con border per eliminare problema focus delle textbox 2022-10-24 11:42:45 +02:00
Emmanuele Sassi 708ffc576d - Gestione disattivazione interfaccia per db materiali e lavorazioni
- Focus su nome lavorazione per edit
2022-10-20 20:40:53 +02:00
Emmanuele Sassi bd6327586e - Modifica del nome lavorazione 2022-10-19 09:00:43 +02:00
Emmanuele Sassi ff5ce8be86 - introduzione parametri spiralvase
- introduzione estensione del cn dipendente dalla macchina
- spostamento parametri di lavorazione
- aggiunto salvataggio e lettura materiale in progetto
- aggiunto bottone update e modificato genera con possibilita' di cambio nome
- aggiunta possibilita' di aprire notepad dopo generazione
2022-10-18 15:30:40 +02:00
DarioS 83568d12a3 Icarus :
- prima di eseguire Slice si verifica che il progetto abbia un nome valido
- aggiunta possibilità di forzare Generazione CN con Shift.
2022-10-14 18:59:25 +02:00
DarioS ce7cd01012 Icarus 2.4j3 :
- corretta gestione direttorio iniziale in OpenFileDialog (solo se esiste si imposta).
2022-10-11 13:10:56 +02:00
DarioS 054d21c625 Icarus 2.4j2 :
- migliorie e correzioni varie.
2022-10-11 09:45:49 +02:00
Emmanuele Sassi c5d236b379 Merge branch 'feature/HorizontalSlider' 2022-10-10 16:25:41 +02:00
Emmanuele Sassi db217222de Merge branch 'feature/HorizontalSlider' 2022-10-10 12:28:05 +02:00
46 changed files with 4465 additions and 371 deletions
+12
View File
@@ -64,16 +64,20 @@
' parametri Lavorazione
Public Const MAC_TORECALC_SLICE = "ToRecalcSlice"
Public Const MAC_TORECALC_TFS = "ToRecalcTFS"
Public Const MAC_TORECALC_GENERATE = "ToRecalcGenerate"
Public Const MAC_GUID = "GUID"
Public Const MAC_NAME = "Name"
Public Const MAC_SLICING45 = "Slicing45"
Public Const MAC_SLICINGTYPE = "SlicingType"
Public Const MAC_SPIRALVASE = "SpiralVase"
Public Const MAC_STRANDH = "StrandH"
Public Const MAC_STRANDW = "StrandW"
Public Const MAC_STRANDCOUNT = "StrandCount"
Public Const MAC_OFFSET = "Offset"
Public Const MAC_STARTPOINTOFFSETONSLICE = "StartPointOffsetOnSlice"
Public Const MAC_STRANDORDER = "StrandOrder"
Public Const MAC_STRANDOVERLAP = "StrandOverlap"
Public Const MAC_DIRECTION = "Direction"
Public Const MAC_LINKTYPE = "LinkType"
Public Const MAC_LINKPARAM = "LinkParam"
@@ -89,6 +93,7 @@
Public Const MAC_COASTINGFEED = "CoastingFeed"
Public Const MAC_WIPELEN = "WipeLen"
Public Const MAC_WIPEFEEDPU = "WipeFeedPu"
Public Const MAC_WIPEDIR = "WipeDir"
Public Const MAC_FLOORCOUNT = "FloorCount"
Public Const MAC_G0FEED = "G0Feed"
Public Const MAC_TOOLDIAM = "ToolDiam"
@@ -117,6 +122,7 @@
Public Const MAC_AUXSOLIDSCOASTINGLEN = "AuxSolidsCoastingLen"
Public Const MAC_AUXSOLIDSWIPELEN = "AuxSolidsWipeLen"
Public Const MAC_AUXSOLIDSWIPEDIR = "AuxSolidsWipeDir"
Public Const MAC_CONSTANT = "Constant"
Public Const MAC_MATERIALS = "Materials"
' parametri StartMach
@@ -137,6 +143,12 @@
' macchina in progetto
Public Const KEY_MACHINE_NAME = "MachineName"
' materiale in progetto
Public Const KEY_MATERIAL_GUID = "MaterialGuid"
Public Const KEY_MATERIAL_NAME = "MaterialName"
' nome file cn in progetto
Public Const KEY_ISOFILE_PATH = "IsoFilePath"
Public Const FILE_PATH = "FilePath"
End Module
+3
View File
@@ -60,6 +60,7 @@ Public Module ConstIni
'Public Const K_NFEFONTDIR As String = "NfeFontDir"
'Public Const K_DEFAULTCOLOR As String = "DefaultColor"
'Public Const K_SAVETYPE As String = "SaveType"
Public Const K_SURFTMTOLER As String = "SurfTmToler"
'Public Const S_OPENGL As String = "OpenGL"
'Public Const K_DOUBLEBUFFER As String = "DoubleBuffer"
@@ -95,6 +96,8 @@ Public Module ConstIni
'Public Const K_MAJLNCOLOR As String = "MajLnColor"
Public Const S_IMPORT As String = "Import"
Public Const K_DXFSCALE As String = "DxfScale"
Public Const K_STLSCALE As String = "StlScale"
Public Const K_CNCFLAG As String = "CncFlag"
'Public Const S_SIMUL As String = "Simul"
+4
View File
@@ -9,6 +9,9 @@
Public Const S_CHANNELS As String = "Channels"
Public Const S_PARTPROGRAM As String = "PartProgram"
Public Const S_EXTENSION As String = "Extension"
' Variables della macchina corrente
Public Const S_MAINVARIABLES As String = "MainVariables"
Public Const S_VARIABLES As String = "Variables"
@@ -29,6 +32,7 @@
Public Const K_MACH_EXITSCRIPT As String = "ExitScript"
Public Const S_MACH_PRINTING3D As String = "3dPrinting"
Public Const K_HORIZONTAL_PRINT As String = "HorizontalPrint"
Public Const K_SPEED_MIN As String = "SpeedMin"
Public Const K_SPEED_MAX As String = "SpeedMax"
+95 -91
View File
@@ -16,11 +16,21 @@ Public Class CurrMachining
End Set
End Property
Public ReadOnly Property bCurrSlicing45 As Boolean
Public ReadOnly Property dCurrSlicingType As Machining.MPAR_SLICINGTYPE
Get
Dim Slicing45 As CurrCheckMachiningParam = m_CathegoryList.FirstOrDefault(Function(x) x.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(y) y.Type = MachiningParam.Params.SLICING45)
Dim SlicingType As CurrComboMachiningParam = m_CathegoryList.FirstOrDefault(Function(x) x.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(y) y.Type = MachiningParam.Params.SLICINGTYPE)
If Not IsNothing(SlicingType) Then
Return SlicingType.SelValue.Id
Else
Return 0
End If
End Get
End Property
Public ReadOnly Property sCurrSlicingType As String
Get
Dim Slicing45 As CurrComboMachiningParam = m_CathegoryList.FirstOrDefault(Function(x) x.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(y) y.Type = MachiningParam.Params.SLICINGTYPE)
If Not IsNothing(Slicing45) Then
Return Slicing45.bValue
Return Slicing45.SelValue.Name
Else
Return False
End If
@@ -97,11 +107,6 @@ Public Class CurrMachining
End If
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.GENERAL, nPartId, m_nIndex, False))
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LINK, nPartId, m_nIndex, False))
'm_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LEADIN, nPartId, m_nIndex, False))
'm_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LEADOUT, nPartId, m_nIndex, False))
'm_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.COASTING, nPartId, m_nIndex, False))
'm_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.WIPE, nPartId, m_nIndex, False))
'm_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.TOOL, nPartId, m_nIndex, False))
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.RIBS, nPartId, m_nIndex, False))
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.SHELL_NUMBER, nPartId, m_nIndex, False))
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.AUX_SOLID, nPartId, m_nIndex, False))
@@ -119,11 +124,6 @@ Public Class CurrMachining
m_sCurrGUID = CurrMachiningInDb.sGUID
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.GENERAL, nPartId, m_nIndex, True))
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LINK, nPartId, m_nIndex, True))
'm_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LEADIN, nPartId, m_nIndex, True))
'm_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LEADOUT, nPartId, m_nIndex, True))
'm_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.COASTING, nPartId, m_nIndex, True))
'm_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.WIPE, nPartId, m_nIndex, True))
'm_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.TOOL, nPartId, m_nIndex, True))
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.RIBS, nPartId, m_nIndex, True))
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.SHELL_NUMBER, nPartId, m_nIndex, True))
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.AUX_SOLID, nPartId, m_nIndex, True))
@@ -153,7 +153,7 @@ Public Class CurrMachining
Case NameOf(sender.dValue), NameOf(sender.sValue), NameOf(sender.bValue), NameOf(sender.SelValue)
m_bIsModified = m_CathegoryList.Any(Function(x) x.MachiningParamList.Any(Function(y) y.bIsModified))
NotifyPropertyChanged(NameOf(ghName))
NotifyPropertyChanged(NameOf(bCurrSlicing45))
NotifyPropertyChanged(NameOf(sCurrSlicingType))
NotifyPropertyChanged(NameOf(sCurrStrandH))
NotifyPropertyChanged(NameOf(sCurrStrandW))
NotifyPropertyChanged(NameOf(sCurrStrandCount))
@@ -182,17 +182,20 @@ Public Class CurrMachiningCathegory
Select Case m_Type
Case Cathegories.GENERAL
m_sName = "General"
m_MachiningParamList = New List(Of MachiningParam)({New CurrCheckMachiningParam(MachiningParam.Params.SLICING45, nPartId, nIndex, bForceFromDb),
m_MachiningParamList = New List(Of MachiningParam)({New CurrComboMachiningParam(MachiningParam.Params.SLICINGTYPE, nPartId, nIndex, bForceFromDb),
New CurrCheckMachiningParam(MachiningParam.Params.SPIRALVASE, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.STRANDH, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.STRANDW, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.STRANDCOUNT, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.OFFSET, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.STRANDOVERLAP, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.STARTPOINTOFFSETONSLICE, nPartId, nIndex, bForceFromDb),
New CurrComboMachiningParam(MachiningParam.Params.STRANDORDER, nPartId, nIndex, bForceFromDb),
New CurrComboMachiningParam(MachiningParam.Params.DIRECTION, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.FLOORCOUNT, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.G0FEED, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.TOOLDIAM, nPartId, nIndex, bForceFromDb)})
New CurrNumericMachiningParam(MachiningParam.Params.TOOLDIAM, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.CONSTANT, nPartId, nIndex, bForceFromDb)})
Case Cathegories.LINK
m_sName = "Shell"
m_MachiningParamList = New List(Of MachiningParam)({New CurrComboMachiningParam(MachiningParam.Params.LINKTYPE, nPartId, nIndex, bForceFromDb),
@@ -208,39 +211,18 @@ Public Class CurrMachiningCathegory
New CurrNumericMachiningParam(MachiningParam.Params.COASTINGLEN, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.COASTINGFEED, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.WIPELEN, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.WIPEFEEDPU, nPartId, nIndex, bForceFromDb)})
'Case Cathegories.LEADIN
' m_sName = "Lead In"
' m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.OFFSETLEADPOINT, nPartId, nIndex, bForceFromDb),
' New CurrComboMachiningParam(MachiningParam.Params.LEADIN, nPartId, nIndex, bForceFromDb),
' New CurrNumericMachiningParam(MachiningParam.Params.LEADINTANGDIST, nPartId, nIndex, bForceFromDb),
' New CurrNumericMachiningParam(MachiningParam.Params.LEADINORTHODIST, nPartId, nIndex, bForceFromDb)})
'Case Cathegories.LEADOUT
' m_sName = "Lead Out"
' m_MachiningParamList = New List(Of MachiningParam)({New CurrComboMachiningParam(MachiningParam.Params.LEADOUT, nPartId, nIndex, bForceFromDb),
' New CurrNumericMachiningParam(MachiningParam.Params.LEADOUTTANGDIST, nPartId, nIndex, bForceFromDb),
' New CurrNumericMachiningParam(MachiningParam.Params.LEADOUTORTHODIST, nPartId, nIndex, bForceFromDb)})
'Case Cathegories.COASTING
' m_sName = "Coasting"
' m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.COASTINGLEN, nPartId, nIndex, bForceFromDb),
' New CurrNumericMachiningParam(MachiningParam.Params.COASTINGFEED, nPartId, nIndex, bForceFromDb)})
'Case Cathegories.WIPE
' m_sName = "Wipe"
' m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.WIPELEN, nPartId, nIndex, bForceFromDb),
' New CurrNumericMachiningParam(MachiningParam.Params.WIPEFEEDPU, nPartId, nIndex, bForceFromDb)})
'Case Cathegories.TOOL
' m_sName = "Tool"
' m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.TOOLDIAM, nPartId, nIndex, bForceFromDb)})
New CurrNumericMachiningParam(MachiningParam.Params.WIPEFEEDPU, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.WIPEDIR, nPartId, nIndex, bForceFromDb)})
Case Cathegories.RIBS
m_sName = "Ribs"
m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.RIBSOVERLAP, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLINK, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSINVERTORDER, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADININVERT, nPartId, nIndex, bForceFromDb),
New CurrCheckMachiningParam(MachiningParam.Params.RIBSLINK, nPartId, nIndex, bForceFromDb),
New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTORDER, nPartId, nIndex, bForceFromDb),
New CurrCheckMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nPartId, nIndex, bForceFromDb),
New CurrCheckMachiningParam(MachiningParam.Params.RIBSLEADININVERT, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADINLEN, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTINVERT, nPartId, nIndex, bForceFromDb),
New CurrCheckMachiningParam(MachiningParam.Params.RIBSLEADOUTINVERT, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTLEN, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTCOASTING, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPE, nPartId, nIndex, bForceFromDb),
@@ -335,6 +317,9 @@ Public Class CurrNumericMachiningParam
Case Params.OFFSET
bReadFromPart = EgtGetInfo(nPartId, MAC_OFFSET, m_dValue)
m_bIsLen = True
Case Params.STRANDOVERLAP
bReadFromPart = EgtGetInfo(nPartId, MAC_STRANDOVERLAP, m_dValue)
m_bIsLen = True
Case Params.STARTPOINTOFFSETONSLICE
bReadFromPart = EgtGetInfo(nPartId, MAC_STARTPOINTOFFSETONSLICE, m_dValue)
m_bIsLen = True
@@ -371,6 +356,9 @@ Public Class CurrNumericMachiningParam
Case Params.WIPEFEEDPU
bReadFromPart = EgtGetInfo(nPartId, MAC_WIPEFEEDPU, m_dValue)
m_bIsLen = True
Case Params.WIPEDIR
bReadFromPart = EgtGetInfo(nPartId, MAC_WIPEDIR, m_dValue)
m_bIsLen = True
Case Params.FLOORCOUNT
bReadFromPart = EgtGetInfo(nPartId, MAC_FLOORCOUNT, m_dValue)
m_bIsLen = True
@@ -386,24 +374,9 @@ Public Class CurrNumericMachiningParam
Case Params.RIBSSTRANDCOUNT
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSSTRANDCOUNT, m_dValue)
m_bIsLen = True
Case Params.RIBSLINK
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLINK, m_dValue)
m_bIsLen = True
Case Params.RIBSINVERTORDER
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSINVERTORDER, m_dValue)
m_bIsLen = True
Case Params.RIBSINVERTDIRECTION
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSINVERTDIRECTION, m_dValue)
m_bIsLen = True
Case Params.RIBSLEADININVERT
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADININVERT, m_dValue)
m_bIsLen = True
Case Params.RIBSLEADINLEN
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADINLEN, m_dValue)
m_bIsLen = True
Case Params.RIBSLEADOUTINVERT
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADOUTINVERT, m_dValue)
m_bIsLen = True
Case Params.RIBSLEADOUTLEN
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADOUTLEN, m_dValue)
m_bIsLen = True
@@ -446,26 +419,19 @@ Public Class CurrNumericMachiningParam
Case Params.AUXSOLIDSWIPEDIR
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSWIPEDIR, m_dValue)
m_bIsLen = True
Case Params.CONSTANT
bReadFromPart = EgtGetInfo(nPartId, MAC_CONSTANT, m_dValue)
m_bIsLen = False
End Select
m_dOrigValue = m_dValue
If nIndex > 0 Then
Dim DbMachining As Machining = Map.refMachiningDbVM.MachiningList.FirstOrDefault(Function(x) x.nIndex = nIndex)
Select Case Type
Case Params.STRANDH, Params.STRANDW, Params.STRANDCOUNT, Params.OFFSET, Params.STARTPOINTOFFSETONSLICE, Params.FLOORCOUNT, Params.G0FEED, Params.TOOLDIAM
Case Params.STRANDH, Params.STRANDW, Params.STRANDCOUNT, Params.OFFSET, Params.STRANDOVERLAP, Params.STARTPOINTOFFSETONSLICE, Params.FLOORCOUNT, Params.G0FEED, Params.TOOLDIAM, Params.CONSTANT
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
Case Params.LINKPARAM, Params.LINKZUP, Params.OFFSETLEADPOINT, Params.LEADINTANGDIST, Params.LEADINORTHODIST,
Params.LEADOUTTANGDIST, Params.LEADOUTORTHODIST, Params.COASTINGLEN, Params.COASTINGFEED, Params.WIPELEN, Params.WIPEFEEDPU
Params.LEADOUTTANGDIST, Params.LEADOUTORTHODIST, Params.COASTINGLEN, Params.COASTINGFEED, Params.WIPELEN, Params.WIPEFEEDPU, Params.WIPEDIR
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LINK).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
'Case Params.OFFSETLEADPOINT, Params.LEADINTANGDIST, Params.LEADINORTHODIST
' m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LEADIN).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
'Case Params.LEADOUTTANGDIST, Params.LEADOUTORTHODIST
' m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LEADOUT).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
'Case Params.COASTINGLEN, Params.COASTINGFEED
' m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.COASTING).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
'Case Params.WIPELEN, Params.WIPEFEEDPU
' m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.WIPE).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
'Case Params.TOOLDIAM
' m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.TOOL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
Case Params.RIBSOVERLAP, Params.RIBSSTRANDCOUNT, Params.RIBSLINK, Params.RIBSINVERTORDER, Params.RIBSINVERTDIRECTION, Params.RIBSLEADININVERT,
Params.RIBSLEADINLEN, Params.RIBSLEADOUTINVERT, Params.RIBSLEADOUTLEN, Params.RIBSLEADOUTCOASTING, Params.RIBSLEADOUTWIPE, Params.RIBSLEADOUTWIPEDIR
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.RIBS).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
@@ -478,6 +444,9 @@ Public Class CurrNumericMachiningParam
m_dValue = m_DbParam.dOrigValue
m_dOrigValue = m_DbParam.dOrigValue
End If
ElseIf Type = Params.CONSTANT AndAlso Not bReadFromPart Then
m_dValue = 100
m_dOrigValue = 100
End If
End Sub
@@ -497,6 +466,8 @@ Public Class CurrNumericMachiningParam
EgtSetInfo(nPartId, MAC_STRANDCOUNT, sWriteValue)
Case Params.OFFSET
EgtSetInfo(nPartId, MAC_OFFSET, sWriteValue)
Case Params.STRANDOVERLAP
EgtSetInfo(nPartId, MAC_STRANDOVERLAP, sWriteValue)
Case Params.STARTPOINTOFFSETONSLICE
EgtSetInfo(nPartId, MAC_STARTPOINTOFFSETONSLICE, sWriteValue)
Case Params.LINKPARAM
@@ -521,6 +492,8 @@ Public Class CurrNumericMachiningParam
EgtSetInfo(nPartId, MAC_WIPELEN, sWriteValue)
Case Params.WIPEFEEDPU
EgtSetInfo(nPartId, MAC_WIPEFEEDPU, sWriteValue)
Case Params.WIPEDIR
EgtSetInfo(nPartId, MAC_WIPEDIR, sWriteValue)
Case Params.FLOORCOUNT
EgtSetInfo(nPartId, MAC_FLOORCOUNT, sWriteValue)
Case Params.G0FEED
@@ -531,18 +504,8 @@ Public Class CurrNumericMachiningParam
EgtSetInfo(nPartId, MAC_RIBSOVERLAP, sWriteValue)
Case Params.RIBSSTRANDCOUNT
EgtSetInfo(nPartId, MAC_RIBSSTRANDCOUNT, sWriteValue)
Case Params.RIBSLINK
EgtSetInfo(nPartId, MAC_RIBSLINK, sWriteValue)
Case Params.RIBSINVERTORDER
EgtSetInfo(nPartId, MAC_RIBSINVERTORDER, sWriteValue)
Case Params.RIBSINVERTDIRECTION
EgtSetInfo(nPartId, MAC_RIBSINVERTDIRECTION, sWriteValue)
Case Params.RIBSLEADININVERT
EgtSetInfo(nPartId, MAC_RIBSLEADININVERT, sWriteValue)
Case Params.RIBSLEADINLEN
EgtSetInfo(nPartId, MAC_RIBSLEADINLEN, sWriteValue)
Case Params.RIBSLEADOUTINVERT
EgtSetInfo(nPartId, MAC_RIBSLEADOUTINVERT, sWriteValue)
Case Params.RIBSLEADOUTLEN
EgtSetInfo(nPartId, MAC_RIBSLEADOUTLEN, sWriteValue)
Case Params.RIBSLEADOUTCOASTING
@@ -571,6 +534,8 @@ Public Class CurrNumericMachiningParam
EgtSetInfo(nPartId, MAC_AUXSOLIDSWIPELEN, sWriteValue)
Case Params.AUXSOLIDSWIPEDIR
EgtSetInfo(nPartId, MAC_AUXSOLIDSWIPEDIR, sWriteValue)
Case Params.CONSTANT
EgtSetInfo(nPartId, MAC_CONSTANT, sWriteValue)
End Select
End Sub
@@ -580,6 +545,7 @@ Public Class CurrNumericMachiningParam
Friend Overrides Sub ResetParam()
m_dValue = m_dOrigValue
NotifyPropertyChanged(NameOf(sValue))
End Sub
#Region "COMMANDS"
@@ -645,6 +611,7 @@ Public Class CurrStringMachiningParam
Friend Overrides Sub ResetParam()
m_sValue = m_sOrigValue
NotifyPropertyChanged(NameOf(sValue))
End Sub
#Region "COMMANDS"
@@ -704,6 +671,21 @@ Public Class CurrComboMachiningParam
MyBase.New(Type, nIndex)
Dim bReadFromPart As Boolean = False
Select Case Type
Case Params.SLICINGTYPE
Dim nHorizontalPrint As Integer = GetPrivateProfileInt(S_MACH_PRINTING3D, K_HORIZONTAL_PRINT, 0, CurrentMachine.sMachIniFile)
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_SLICINGTYPE.VERTICAL, "Vertical"),
New IdNameStruct(Machining.MPAR_SLICINGTYPE.HORIZONTAL, "Horizontal")})
If nHorizontalPrint > 0 Then
m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.DEG45, "45°"))
End If
Dim nSelValue As Integer = 0
bReadFromPart = EgtGetInfo(nPartId, MAC_SLICINGTYPE, nSelValue)
If Not bReadFromPart Then
Dim nSlicing45 As Integer = 0
bReadFromPart = EgtGetInfo(nPartId, MAC_SLICING45, nSlicing45)
nSelValue = If(nSlicing45 = 0, Machining.MPAR_SLICINGTYPE.VERTICAL, Machining.MPAR_SLICINGTYPE.DEG45)
End If
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
Case Params.STRANDORDER
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_STRANDORDERS.OUTTOIN, "From Outside To Inside"),
New IdNameStruct(Machining.MPAR_STRANDORDERS.INTOOUT, "From Inside To Outside")})
@@ -762,14 +744,10 @@ Public Class CurrComboMachiningParam
If nIndex > 0 Then
Dim DbMachining As Machining = Map.refMachiningDbVM.MachiningList.FirstOrDefault(Function(x) x.nIndex = nIndex)
Select Case Type
Case Params.STRANDORDER, Params.DIRECTION
Case Params.SLICINGTYPE, Params.STRANDORDER, Params.DIRECTION
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
Case Params.LINKTYPE, Params.LEADIN, Params.LEADOUT
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LINK).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
'Case Params.LEADIN
' m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LEADIN).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
'Case Params.LEADOUT
' m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LEADOUT).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
Case Params.AUXSOLIDSINFILL, Params.AUXSOLIDSSTRANDORDER, Params.AUXSOLIDSLINKTYPE
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.AUX_SOLID).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
End Select
@@ -782,6 +760,8 @@ Public Class CurrComboMachiningParam
Friend Overrides Sub WriteParamInPart(nPartId As Integer)
Select Case Type
Case Params.SLICINGTYPE
EgtSetInfo(nPartId, MAC_SLICINGTYPE, m_SelValue.Id)
Case Params.STRANDORDER
EgtSetInfo(nPartId, MAC_STRANDORDER, m_SelValue.Id)
Case Params.DIRECTION
@@ -807,6 +787,7 @@ Public Class CurrComboMachiningParam
Friend Overrides Sub ResetParam()
m_SelValue = m_OrigSelValue
NotifyPropertyChanged(NameOf(SelValue))
End Sub
#Region "COMMANDS"
@@ -868,15 +849,27 @@ Public Class CurrCheckMachiningParam
MyBase.New(Type, nIndex)
Dim bReadFromPart As Boolean = False
Select Case Type
Case Params.SLICING45
bReadFromPart = EgtGetInfo(nPartId, MAC_SLICING45, m_bValue)
Case Params.SPIRALVASE
bReadFromPart = EgtGetInfo(nPartId, MAC_SPIRALVASE, m_bValue)
Case Params.RIBSLINK
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLINK, m_bValue)
Case Params.RIBSINVERTORDER
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSINVERTORDER, m_bValue)
Case Params.RIBSINVERTDIRECTION
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSINVERTDIRECTION, m_bValue)
Case Params.RIBSLEADININVERT
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADININVERT, m_bValue)
Case Params.RIBSLEADOUTINVERT
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADOUTINVERT, m_bValue)
End Select
m_bOrigValue = m_bValue
If nIndex > 0 Then
Dim DbMachining As Machining = Map.refMachiningDbVM.MachiningList.FirstOrDefault(Function(x) x.nIndex = nIndex)
Select Case Type
Case Params.SLICING45
Case Params.SPIRALVASE
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
Case Params.RIBSLINK, Params.RIBSINVERTORDER, Params.RIBSINVERTDIRECTION, Params.RIBSLEADININVERT, Params.RIBSLEADOUTINVERT
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.RIBS).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
End Select
If bForceFromDb OrElse Not bReadFromPart Then
m_bValue = m_DbParam.bOrigValue
@@ -887,8 +880,18 @@ Public Class CurrCheckMachiningParam
Friend Overrides Sub WriteParamInPart(nPartId As Integer)
Select Case Type
Case Params.SLICING45
EgtSetInfo(nPartId, MAC_SLICING45, If(m_bValue, 1, 0))
Case Params.SPIRALVASE
EgtSetInfo(nPartId, MAC_SPIRALVASE, If(m_bValue, 1, 0))
Case Params.RIBSLINK
EgtSetInfo(nPartId, MAC_RIBSLINK, If(m_bValue, 1, 0))
Case Params.RIBSINVERTORDER
EgtSetInfo(nPartId, MAC_RIBSINVERTORDER, If(m_bValue, 1, 0))
Case Params.RIBSINVERTDIRECTION
EgtSetInfo(nPartId, MAC_RIBSINVERTDIRECTION, If(m_bValue, 1, 0))
Case Params.RIBSLEADININVERT
EgtSetInfo(nPartId, MAC_RIBSLEADININVERT, If(m_bValue, 1, 0))
Case Params.RIBSLEADOUTINVERT
EgtSetInfo(nPartId, MAC_RIBSLEADOUTINVERT, If(m_bValue, 1, 0))
End Select
End Sub
@@ -898,6 +901,7 @@ Public Class CurrCheckMachiningParam
Friend Overrides Sub ResetParam()
m_bValue = m_bOrigValue
NotifyPropertyChanged(NameOf(bValue))
End Sub
#Region "COMMANDS"
@@ -79,6 +79,8 @@ Public Class CurrMachiningPanelVM
End Property
Public Sub Cancel()
' ripristino i parametri modificati
m_CurrMachining.ResetModification()
' ripristino modalita' standard
Map.refTopPanelVM.SelPage = Pages.MODIFY
End Sub
+144 -8
View File
@@ -1,17 +1,103 @@
<StackPanel x:Class="DispositionPanelV"
<Grid x:Class="DispositionPanelV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
xmlns:PrintApp="clr-namespace:Icarus"
VerticalAlignment="Stretch"
Margin="5">
<StackPanel.Resources>
<Grid.Resources>
<PrintApp:CenterToolTipConverter x:Key="CenterToolTipConverter"/>
</StackPanel.Resources>
<PrintApp:FromBooleanToVisibility x:Key="FromBooleanToVisibility"/>
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<ToggleButton x:Name="MoveBtn"
Grid.Row="3"
Content="Move"
IsChecked="{Binding bMove_IsChecked}"
Style="{StaticResource ToolBar_TextToggleButton}"/>
<Popup IsOpen="{Binding IsChecked, ElementName=MoveBtn}"
<!--<Border Background="Red"
Grid.Column="1"
Grid.Row="1"
Grid.RowSpan="5"
Width="50"
VerticalAlignment="Stretch"/>-->
<Border x:Name="PopupBrd"
Grid.Column="1"
Grid.Row="1"
Grid.RowSpan="5"
VerticalAlignment="Center"
Margin="5,0,0,0"
Visibility="{Binding IsChecked, ElementName=MoveBtn, Converter={StaticResource FromBooleanToVisibility}}"
Style="{StaticResource LeftPanelPopup_Border}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid Margin="0,0,0,2.5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="X"
VerticalAlignment="Center"/>
<EgtWPFLib5:EgtTextBox Text="{Binding sXPos, UpdateSourceTrigger=Explicit}"
Grid.Column="1"
Margin="5,0,0,0"
Style="{StaticResource LeftPanel_TextBox}"/>
</Grid>
<Grid Grid.Row="1"
Margin="0,2.5,0,2.5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="Y"
VerticalAlignment="Center"/>
<EgtWPFLib5:EgtTextBox Text="{Binding sYPos, UpdateSourceTrigger=Explicit}"
Grid.Column="1"
Margin="5,0,0,0"
Style="{StaticResource LeftPanel_TextBox}"/>
</Grid>
<Grid Grid.Row="2"
Margin="0,2.5,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="Z"
VerticalAlignment="Center"/>
<EgtWPFLib5:EgtTextBox Text="{Binding sZPos, UpdateSourceTrigger=Explicit}"
Grid.Column="1"
Margin="5,0,0,0"
Style="{StaticResource LeftPanel_TextBox}"/>
</Grid>
<Grid Grid.Row="3"
Margin="0,2.5,0,0">
<Button Content="Drag"
Command="{Binding DragMove_Command}"
Style="{StaticResource LeftPanel_TextButton}"/>
</Grid>
</Grid>
</Border>
<!--<Popup IsOpen="{Binding IsChecked, ElementName=MoveBtn}"
PlacementTarget="{Binding ElementName=MoveBtn}"
Style="{StaticResource LeftPanel_Popup}">
<Border x:Name="PopupBrd" Style="{StaticResource LeftPanelPopup_Border}">
@@ -68,12 +154,62 @@
</Grid>
</Grid>
</Border>
</Popup>
</Popup>-->
<ToggleButton x:Name="RotateBtn"
Grid.Row="4"
Content="Rotate"
IsChecked="{Binding bRotate_IsChecked}"
Style="{StaticResource ToolBar_TextToggleButton}"/>
<Popup IsOpen="{Binding IsChecked, ElementName=RotateBtn}"
<!--<Border Background="Blue"
Grid.Column="2"
Grid.Row="2"
Grid.RowSpan="5"
Width="50"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"/>-->
<Border Grid.Column="1"
Grid.Row="2"
Grid.RowSpan="5"
VerticalAlignment="Center"
Margin="5,0,0,0"
Visibility="{Binding IsChecked, ElementName=RotateBtn, Converter={StaticResource FromBooleanToVisibility}}"
Style="{StaticResource LeftPanelPopup_Border}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<UniformGrid Columns="3">
<RadioButton Content="X"
GroupName="Axes"
IsChecked="{Binding RotAxes[0]}"
Style="{StaticResource ToolBar_ToggleButton}"/>
<RadioButton Content="Y"
GroupName="Axes"
IsChecked="{Binding RotAxes[1]}"
Style="{StaticResource ToolBar_ToggleButton}"/>
<RadioButton Content="Z"
GroupName="Axes"
IsChecked="{Binding RotAxes[2]}"
Style="{StaticResource ToolBar_ToggleButton}"/>
</UniformGrid>
<EgtWPFLib5:EgtTextBox Grid.Row="1"
Text="{Binding sRotAngle, UpdateSourceTrigger=Explicit}"
Margin="0,5,0,0"/>
<Grid Grid.Row="2"
Margin="0,2.5,0,0">
<Button Content="Drag"
Command="{Binding DragRotate_Command}"
Style="{StaticResource LeftPanel_TextButton}"/>
</Grid>
</Grid>
</Border>
<!--<Popup IsOpen="{Binding IsChecked, ElementName=RotateBtn}"
Grid.Column="1"
PlacementTarget="{Binding ElementName=RotateBtn}"
Style="{StaticResource LeftPanel_Popup}">
@@ -110,5 +246,5 @@
</Grid>
</Grid>
</Border>
</Popup>
</StackPanel>
</Popup>-->
</Grid>
@@ -298,3 +298,19 @@ Public Class CenterToolTipConverter
End Function
End Class
Public Class FromBooleanToVisibility
Implements IValueConverter
Public Function Convert(ByVal value As Object, ByVal targetType As Type, ByVal parameter As Object, ByVal culture As CultureInfo) As Object Implements IValueConverter.Convert
If IsNothing(value) OrElse TypeOf value IsNot Boolean Then
Return Visibility.Collapsed
End If
Return If(CBool(value), Visibility.Visible, Visibility.Collapsed)
End Function
Public Function ConvertBack(ByVal value As Object, ByVal targetType As Type, ByVal parameter As Object, ByVal culture As CultureInfo) As Object Implements IValueConverter.ConvertBack
Throw New NotSupportedException()
End Function
End Class
+27
View File
@@ -159,6 +159,19 @@
<DependentUpon>MaterialDbV.xaml</DependentUpon>
</Compile>
<Compile Include="MaterialDb\MaterialDbVM.vb" />
<Compile Include="ModifyPartPanel\ModifyPartPanelV.xaml.vb">
<DependentUpon>ModifyPartPanelV.xaml</DependentUpon>
</Compile>
<Compile Include="ModifyPartPanel\ModifyPartPanelVM.vb" />
<Compile Include="ModifyPartPanel\ModifyPartUtility.vb" />
<Compile Include="OptionsWindow\MachineBox.xaml.vb">
<DependentUpon>MachineBox.xaml</DependentUpon>
</Compile>
<Compile Include="OptionsWindow\OptionModule.vb" />
<Compile Include="OptionsWindow\OptionWindowV.xaml.vb">
<DependentUpon>OptionWindowV.xaml</DependentUpon>
</Compile>
<Compile Include="OptionsWindow\OptionWindowVM.vb" />
<Compile Include="Project\ProjectV.xaml.vb">
<DependentUpon>ProjectV.xaml</DependentUpon>
</Compile>
@@ -249,6 +262,7 @@
</Compile>
<Compile Include="Utility\DisableModifiedMgr.vb" />
<Compile Include="Utility\EgwCrypto.vb" />
<Compile Include="Utility\GeomEntityColors.vb" />
<Compile Include="Utility\LuaExec.vb" />
<Compile Include="Utility\Map.vb" />
<Compile Include="Utility\MyMachine.vb" />
@@ -335,6 +349,18 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="ModifyPartPanel\ModifyPartPanelV.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="OptionsWindow\MachineBox.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="OptionsWindow\OptionWindowV.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="Project\ProjectV.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
@@ -607,6 +633,7 @@
<ItemGroup>
<Resource Include="Resources\TopPanel\Edit.png" />
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<PropertyGroup>
<PostBuildEvent>IF "$(PlatformName)"=="x64" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\Icarus\IcarusR64.exe
+2 -2
View File
@@ -14,7 +14,7 @@
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Border Style="{StaticResource LeftPanelTitle_Border}">
<TextBlock Text="Lista nuovi pezzi"
<TextBlock Text="New part list"
FontWeight="DemiBold"
FontSize="14"/>
</Border>
@@ -70,7 +70,7 @@
</TreeView>
<Border Grid.Row="3"
Style="{StaticResource LeftPanelTitle_Border}">
<TextBlock Text="Lista entità importate"
<TextBlock Text="Imported entity list"
FontWeight="DemiBold"
FontSize="14"/>
</Border>
+20 -4
View File
@@ -224,7 +224,8 @@ Public Class ImportPanelVM
Return
Else
' Creo pezzi e layer necessari
For Each ImportPart In m_ImportPartList
For ImportPartIndex = 0 To m_ImportPartList.Count - 1
Dim ImportPart As ImportPart = m_ImportPartList(ImportPartIndex)
Dim frImportedPart As New Frame3d
EgtGetGroupGlobFrame(m_nImportedPartId, frImportedPart)
Dim nPartId As Integer = EgtCreateGroup(GDB_ID.ROOT, frImportedPart)
@@ -238,6 +239,7 @@ Public Class ImportPanelVM
Dim nShellNumberLayerId As Integer = GDB_ID.NULL
Dim nAuxSolidsLayerId As Integer = GDB_ID.NULL
Dim nMachStartLayerId As Integer = GDB_ID.NULL
Dim nOthersLayerId As Integer = GDB_ID.NULL
For Each ImportLayer In ImportPart.LayerList
Select Case ImportLayer.Type
Case ImportLayer.LayerType.PRINT_SOLID
@@ -322,11 +324,25 @@ Public Class ImportPanelVM
EgtSetColor(GeomEntity.nId, c3LightBlue)
Next
Case ImportLayer.LayerType.OTHERS
Dim nOthersLayerId As Integer = EgtCreateGroup(nPartId)
nOthersLayerId = EgtCreateGroup(nPartId)
EgtSetName(nOthersLayerId, LAY_OTHERS)
For Each GeomEntity In ImportLayer.EntityList
EgtRelocateGlob(GeomEntity.nId, nOthersLayerId, GDB_POS.LAST_SON)
Next
If ImportPartIndex = 0 Then
For Each GeomEntity In ImportedEntityList
' se curva
Dim EntityType As GDB_TY = EgtGetType(GeomEntity.nId)
Select Case EntityType
Case GDB_TY.CRV_ARC, GDB_TY.CRV_BEZ, GDB_TY.CRV_LINE
' la trasformo in curva compo
EgtCreateCurveCompo(nOthersLayerId, GeomEntity.nId, True)
Case Else
' altrimenti la sposto solamente
EgtRelocateGlob(GeomEntity.nId, nOthersLayerId, GDB_POS.LAST_SON)
End Select
Next
End If
End Select
Next
' aggiungo riferimento
@@ -365,13 +381,13 @@ Public Class ImportPanelVM
End If
EgtSetInfo(nReferenceLayerId, KEY_REFERENCE, PrintSolidEntity.Reference)
' appoggio il pezzo sulla tavola
EgtMove( nPartId, New Vector3d(0, 0, -b3PrintSolid.Min.z))
EgtMove(nPartId, New Vector3d(0, 0, -b3PrintSolid.Min.z))
' lo aggiungo a lista pezzi
Dim sFilePath As String = ""
EgtGetInfo(m_nImportedPartId, FILE_PATH, sFilePath)
EgtSetInfo(nPartId, FILE_PATH, sFilePath)
EgtSetInfo(nPartId, "PartOnTable", 1)
Dim NewPart As New Print3dPartVM(nPartId, nPrintPartLayerId, PrintSolidEntity.nId, nOriginalPartLayerId, nReferenceLayerId, nFrameId, nMachStartLayerId, nRibsLayerId, nShellNumberLayerId, nAuxSolidsLayerId, sFilePath)
Dim NewPart As New Print3dPartVM(nPartId, nPrintPartLayerId, PrintSolidEntity.nId, nOriginalPartLayerId, nReferenceLayerId, nFrameId, nMachStartLayerId, nRibsLayerId, nShellNumberLayerId, nAuxSolidsLayerId, nOthersLayerId, sFilePath)
Map.refTopPanelVM.PartList.Add(NewPart)
Next
End If
+6 -6
View File
@@ -1,9 +1,9 @@
<UserControl x:Class="LeftPanelV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
xmlns:PrintApp="clr-namespace:Icarus"
Margin="5">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
xmlns:PrintApp="clr-namespace:Icarus"
Margin="5">
<TabControl SelectedIndex="{Binding SelPanel}"
Background="Transparent"
BorderThickness="0">
@@ -36,7 +36,7 @@
<Button Height="100"/>
</TabItem>
<TabItem Header="MODIFYPART">
<PrintApp:ImportPanelV DataContext="{StaticResource ImportPanelVM}"/>
<PrintApp:ModifyPartPanelV DataContext="{StaticResource ModifyPartPanelVM}"/>
</TabItem>
</TabControl>
+2
View File
@@ -54,6 +54,8 @@ Public Class LeftPanelVM
Map.refRibPanelVM.Init()
Case Panels.SHELLNUMBER
Map.refShellNumberPanelVM.Init()
Case Panels.MODIFYPART
Map.refModifyPartPanelVM.Init()
End Select
Map.refViewLayerManagerVM.UpdateForced()
NotifyPropertyChanged(NameOf(SelPanel))
+115 -123
View File
@@ -6,6 +6,12 @@ Imports EgtWPFLib5
Public Class Machining
Inherits VMBase
Public Enum MPAR_SLICINGTYPE As Integer
VERTICAL = 1
HORIZONTAL = 2
DEG45 = 3
End Enum
Public Enum MPAR_STRANDORDERS As Integer
OUTTOIN = 1
INTOOUT = 2
@@ -48,7 +54,7 @@ Public Class Machining
End Get
End Property
Friend Sub UpdateIsModified()
m_bIsModified = m_CathegoryList.Any(Function(x) x.MachiningParamList.Any(Function(y) y.bIsModified))
m_bIsModified = m_CathegoryList.Any(Function(x) x.MachiningParamList.Any(Function(y) y.bIsModified)) OrElse bIsModifiedName
NotifyPropertyChanged(NameOf(ghName))
End Sub
@@ -69,6 +75,7 @@ Public Class Machining
End Set
End Property
Private m_sOrigName As String = ""
Protected m_sName As String = ""
Public Property sName As String
Get
@@ -77,7 +84,8 @@ Public Class Machining
Set(value As String)
m_sName = value
Map.refMachiningDbVM.SetNameVisibility(False)
NotifyPropertyChanged(NameOf(ghName))
UpdateIsModified()
Map.refMachiningDbVM.SetIsEnabled(True)
End Set
End Property
Public ReadOnly Property ghName As String
@@ -85,6 +93,11 @@ Public Class Machining
Return m_sName & If(m_bIsModified, "*", "")
End Get
End Property
Public ReadOnly Property bIsModifiedName As Boolean
Get
Return m_sName <> m_sOrigName
End Get
End Property
Sub New()
End Sub
@@ -98,13 +111,9 @@ Public Class Machining
m_sGUID = Guid.NewGuid.ToString()
m_sName = "PrintingParam"
End If
m_sOrigName = m_sName
m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.GENERAL, nIndex))
m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.LINK, nIndex))
'm_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.LEADIN, nIndex))
'm_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.LEADOUT, nIndex))
'm_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.COASTING, nIndex))
'm_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.WIPE, nIndex))
'm_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.TOOL, nIndex))
m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.RIBS, nIndex))
m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.SHELL_NUMBER, nIndex))
m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.AUX_SOLID, nIndex))
@@ -116,13 +125,6 @@ Public Class Machining
Next
End Sub
'Sub New(nIndex As Integer, sGUID As String, sName As String)
' m_nIndex = nIndex
' m_sName = sName
' m_sGUID = sGUID
' ReadAllParams()
'End Sub
Sub New(sName As String, bSlicing45 As Boolean, dStrandH As Double, dStrandW As Double, nStrandCount As Integer, dOffset As Double, dStartPointOffsetOnSlice As Double,
dStrandOrder As MPAR_STRANDORDERS, dDirection As MPAR_DIRECTIONS, dLinkType As MPAR_LINKTYPES, dLinkParam As Double, dLinkZup As Double, dOffsetLeadPoint As Double,
dLeadIn As MPAR_LEADINOUT, dLeadInTangDist As Double, dLeadInOrthoDist As Double, dLeadOut As MPAR_LEADINOUT, dLeadOutTangDist As Double, dLeadOutOrthoDist As Double,
@@ -133,45 +135,14 @@ Public Class Machining
End Sub
'Private Sub ReadAllParams()
' m_bSlicing45 = ReadMachiningParamDouble(m_nIndex, MAC_SLICING45, 0)
' m_dStrandH = ReadMachiningParamDouble(m_nIndex, MAC_STRANDH, 0)
' m_dStrandW = ReadMachiningParamDouble(m_nIndex, MAC_STRANDW, 0)
' m_nStrandCount = ReadMachiningParamDouble(m_nIndex, MAC_STRANDCOUNT, 0)
' m_dOffset = ReadMachiningParamDouble(m_nIndex, MAC_OFFSET, 0)
' m_dStartPointOffsetOnSlice = ReadMachiningParamDouble(m_nIndex, MAC_STARTPOINTOFFSETONSLICE, 0)
' m_dStrandOrder = ReadMachiningParamDouble(m_nIndex, MAC_STRANDORDER, 0)
' m_dDirection = ReadMachiningParamDouble(m_nIndex, MAC_DIRECTION, 0)
' m_dLinkType = ReadMachiningParamDouble(m_nIndex, MAC_LINKTYPE, 0)
' m_dLinkParam = ReadMachiningParamDouble(m_nIndex, MAC_LINKPARAM, 0)
' m_dLinkZup = ReadMachiningParamDouble(m_nIndex, MAC_LINKZUP, 0)
' m_dOffsetLeadPoint = ReadMachiningParamDouble(m_nIndex, MAC_OFFSETLEADPOINT, 0)
' m_dLeadIn = ReadMachiningParamDouble(m_nIndex, MAC_LEADIN, 0)
' m_dLeadInTangDist = ReadMachiningParamDouble(m_nIndex, MAC_LEADINTANGDIST, 0)
' m_dLeadInOrthoDist = ReadMachiningParamDouble(m_nIndex, MAC_LEADINORTHODIST, 0)
' m_dLeadOut = ReadMachiningParamDouble(m_nIndex, MAC_LEADOUT, 0)
' m_dLeadOutTangDist = ReadMachiningParamDouble(m_nIndex, MAC_LEADOUTTANGDIST, 0)
' m_dLeadOutOrthoDist = ReadMachiningParamDouble(m_nIndex, MAC_LEADOUTORTHODIST, 0)
' m_dCoastingLen = ReadMachiningParamDouble(m_nIndex, MAC_COASTINGLEN, 0)
' m_dCoastingFeed = ReadMachiningParamDouble(m_nIndex, MAC_COASTINGFEED, 0)
' m_dWipeLen = ReadMachiningParamDouble(m_nIndex, MAC_WIPELEN, 0)
' m_dWipeFeedPu = ReadMachiningParamDouble(m_nIndex, MAC_WIPEFEEDPU, 0)
' m_dFloorCount = ReadMachiningParamDouble(m_nIndex, MAC_FLOORCOUNT, 0)
' m_dG0Feed = ReadMachiningParamDouble(m_nIndex, MAC_G0FEED, 0)
' m_dToolDiam = ReadMachiningParamDouble(m_nIndex, MAC_TOOLDIAM, 0)
' m_dRibsOverlap = ReadMachiningParamDouble(m_nIndex, MAC_RIBSOVERLAP, 0)
' m_dRibsStrandCount = ReadMachiningParamDouble(m_nIndex, MAC_RIBSSTRANDCOUNT, 0)
' m_dRibsLink = ReadMachiningParamDouble(m_nIndex, MAC_RIBSLINK, 0)
' m_dRibsInvertOrder = ReadMachiningParamDouble(m_nIndex, MAC_RIBSINVERTORDER, 0)
' m_dRibsInvertDirection = ReadMachiningParamDouble(m_nIndex, MAC_RIBSINVERTDIRECTION, 0)
' m_dRibsLeadInInvert = ReadMachiningParamDouble(m_nIndex, MAC_RIBSLEADININVERT, 0)
' m_dRibsLeadInLen = ReadMachiningParamDouble(m_nIndex, MAC_RIBSLEADINLEN, 0)
' m_dRibsLeadOutInvert = ReadMachiningParamDouble(m_nIndex, MAC_RIBSLEADOUTINVERT, 0)
' m_dRibsLeadOutLen = ReadMachiningParamDouble(m_nIndex, MAC_RIBSLEADOUTLEN, 0)
' m_dRibsLeadOutCoasting = ReadMachiningParamDouble(m_nIndex, MAC_RIBSLEADOUTCOASTING, 0)
' m_dRibsLeadOutWipe = ReadMachiningParamDouble(m_nIndex, MAC_RIBSLEADOUTWIPE, 0)
' m_dRibsLeadOutWipeDir = ReadMachiningParamDouble(m_nIndex, MAC_RIBSLEADOUTWIPEDIR, 0)
'End Sub
Private Sub SaveName()
m_sOrigName = m_sName
End Sub
Private Sub ResetName()
m_sName = m_sOrigName
NotifyPropertyChanged(NameOf(ghName))
End Sub
Friend Sub Save()
If bIsModified Then
@@ -185,15 +156,17 @@ Public Class Machining
End Sub
Private Sub SaveParams()
SaveName()
For Each Cathegory In m_CathegoryList
Cathegory.SaveParams()
Next
End Sub
Friend Sub ResetModification()
ResetName()
If bIsModified Then
' annullo le modifiche di tutti i parametri
SaveParams()
ResetParams()
' resetto stato di modificata
UpdateIsModified()
End If
@@ -216,8 +189,7 @@ Public Class Machining
Friend Overridable Sub OnMachiningParamPropertyChanged(sender As Object, e As PropertyChangedEventArgs)
Select Case e.PropertyName
Case NameOf(sender.dValue), NameOf(sender.sValue), NameOf(sender.bValue), NameOf(sender.SelValue)
m_bIsModified = m_CathegoryList.Any(Function(x) x.MachiningParamList.Any(Function(y) y.bIsModified))
NotifyPropertyChanged(NameOf(ghName))
UpdateIsModified()
End Select
End Sub
@@ -267,11 +239,6 @@ Public Class MachiningCathegory
Public Enum Cathegories As Integer
GENERAL = 1
LINK = 2
'LEADIN = 3
'LEADOUT = 4
'COASTING = 5
'WIPE = 6
'TOOL = 7
RIBS = 8
SHELL_NUMBER = 9
AUX_SOLID = 10
@@ -318,17 +285,20 @@ Public Class MachiningCathegory
Select Case m_Type
Case Cathegories.GENERAL
m_sName = "General"
m_MachiningParamList = New List(Of MachiningParam)({New CheckMachiningParam(MachiningParam.Params.SLICING45, nIndex),
m_MachiningParamList = New List(Of MachiningParam)({New ComboMachiningParam(MachiningParam.Params.SLICINGTYPE, nIndex),
New CheckMachiningParam(MachiningParam.Params.SPIRALVASE, nIndex),
New NumericMachiningParam(MachiningParam.Params.STRANDH, nIndex),
New NumericMachiningParam(MachiningParam.Params.STRANDW, nIndex),
New NumericMachiningParam(MachiningParam.Params.STRANDCOUNT, nIndex),
New NumericMachiningParam(MachiningParam.Params.OFFSET, nIndex),
New NumericMachiningParam(MachiningParam.Params.STRANDOVERLAP, nIndex),
New NumericMachiningParam(MachiningParam.Params.STARTPOINTOFFSETONSLICE, nIndex),
New ComboMachiningParam(MachiningParam.Params.STRANDORDER, nIndex),
New ComboMachiningParam(MachiningParam.Params.DIRECTION, nIndex),
New NumericMachiningParam(MachiningParam.Params.FLOORCOUNT, nIndex),
New NumericMachiningParam(MachiningParam.Params.G0FEED, nIndex),
New NumericMachiningParam(MachiningParam.Params.TOOLDIAM, nIndex)})
New NumericMachiningParam(MachiningParam.Params.TOOLDIAM, nIndex),
New NumericMachiningParam(MachiningParam.Params.CONSTANT, nIndex)})
Case Cathegories.LINK
m_sName = "Shell"
m_MachiningParamList = New List(Of MachiningParam)({New ComboMachiningParam(MachiningParam.Params.LINKTYPE, nIndex),
@@ -344,39 +314,18 @@ Public Class MachiningCathegory
New NumericMachiningParam(MachiningParam.Params.COASTINGLEN, nIndex),
New NumericMachiningParam(MachiningParam.Params.COASTINGFEED, nIndex),
New NumericMachiningParam(MachiningParam.Params.WIPELEN, nIndex),
New NumericMachiningParam(MachiningParam.Params.WIPEFEEDPU, nIndex)})
'Case Cathegories.LEADIN
' m_sName = "Lead In"
' m_MachiningParamList = New List(Of MachiningParam)({New NumericMachiningParam(MachiningParam.Params.OFFSETLEADPOINT, nIndex),
' New ComboMachiningParam(MachiningParam.Params.LEADIN, nIndex),
' New NumericMachiningParam(MachiningParam.Params.LEADINTANGDIST, nIndex),
' New NumericMachiningParam(MachiningParam.Params.LEADINORTHODIST, nIndex)})
'Case Cathegories.LEADOUT
' m_sName = "Lead Out"
' m_MachiningParamList = New List(Of MachiningParam)({New ComboMachiningParam(MachiningParam.Params.LEADOUT, nIndex),
' New NumericMachiningParam(MachiningParam.Params.LEADOUTTANGDIST, nIndex),
' New NumericMachiningParam(MachiningParam.Params.LEADOUTORTHODIST, nIndex)})
'Case Cathegories.COASTING
' m_sName = "Coasting"
' m_MachiningParamList = New List(Of MachiningParam)({New NumericMachiningParam(MachiningParam.Params.COASTINGLEN, nIndex),
' New NumericMachiningParam(MachiningParam.Params.COASTINGFEED, nIndex)})
'Case Cathegories.WIPE
' m_sName = "Wipe"
' m_MachiningParamList = New List(Of MachiningParam)({New NumericMachiningParam(MachiningParam.Params.WIPELEN, nIndex),
' New NumericMachiningParam(MachiningParam.Params.WIPEFEEDPU, nIndex)})
'Case Cathegories.TOOL
' m_sName = "Tool"
' m_MachiningParamList = New List(Of MachiningParam)({New NumericMachiningParam(MachiningParam.Params.TOOLDIAM, nIndex)})
New NumericMachiningParam(MachiningParam.Params.WIPEFEEDPU, nIndex),
New NumericMachiningParam(MachiningParam.Params.WIPEDIR, nIndex)})
Case Cathegories.RIBS
m_sName = "Ribs"
m_MachiningParamList = New List(Of MachiningParam)({New NumericMachiningParam(MachiningParam.Params.RIBSOVERLAP, nIndex),
New NumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nIndex),
New NumericMachiningParam(MachiningParam.Params.RIBSLINK, nIndex),
New NumericMachiningParam(MachiningParam.Params.RIBSINVERTORDER, nIndex),
New NumericMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nIndex),
New NumericMachiningParam(MachiningParam.Params.RIBSLEADININVERT, nIndex),
New CheckMachiningParam(MachiningParam.Params.RIBSLINK, nIndex),
New CheckMachiningParam(MachiningParam.Params.RIBSINVERTORDER, nIndex),
New CheckMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nIndex),
New CheckMachiningParam(MachiningParam.Params.RIBSLEADININVERT, nIndex),
New NumericMachiningParam(MachiningParam.Params.RIBSLEADINLEN, nIndex),
New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTINVERT, nIndex),
New CheckMachiningParam(MachiningParam.Params.RIBSLEADOUTINVERT, nIndex),
New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTLEN, nIndex),
New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTCOASTING, nIndex),
New NumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPE, nIndex),
@@ -438,7 +387,7 @@ Public MustInherit Class MachiningParam
Public Enum Params As Integer
NAME = 2
SLICING45 = 3
SLICINGTYPE = 3
STRANDH = 4
STRANDW = 5
STRANDCOUNT = 6
@@ -488,6 +437,10 @@ Public MustInherit Class MachiningParam
AUXSOLIDSCOASTINGLEN = 50
AUXSOLIDSWIPELEN = 51
AUXSOLIDSWIPEDIR = 52
SPIRALVASE = 53
WIPEDIR = 54
STRANDOVERLAP = 55
CONSTANT = 56
MATERIALS = 100
End Enum
@@ -510,8 +463,8 @@ Public MustInherit Class MachiningParam
Sub New(Type As Params)
m_Type = Type
Select Case m_Type
Case Params.SLICING45
m_sName = "Slicing 45°"
Case Params.SLICINGTYPE
m_sName = "Slicing direction"
Case Params.STRANDH
m_sName = "Strand Height"
Case Params.STRANDW
@@ -610,6 +563,14 @@ Public MustInherit Class MachiningParam
m_sName = "Wipe Length"
Case Params.AUXSOLIDSWIPEDIR
m_sName = "Wipe Direction"
Case Params.SPIRALVASE
m_sName = "Spiral Vase"
Case Params.WIPEDIR
m_sName = "Wipe Direction"
Case Params.STRANDOVERLAP
m_sName = "Strand Overlap"
Case Params.CONSTANT
m_sName = "Constant"
End Select
End Sub
@@ -687,6 +648,9 @@ Public Class NumericMachiningParam
Case Params.OFFSET
m_dValue = ReadMachiningParamDouble(nIndex, MAC_OFFSET, 0)
m_bIsLen = True
Case Params.STRANDOVERLAP
m_dValue = ReadMachiningParamDouble(nIndex, MAC_STRANDOVERLAP, 0)
m_bIsLen = True
Case Params.STARTPOINTOFFSETONSLICE
m_dValue = ReadMachiningParamDouble(nIndex, MAC_STARTPOINTOFFSETONSLICE, 0)
m_bIsLen = True
@@ -723,6 +687,9 @@ Public Class NumericMachiningParam
Case Params.WIPEFEEDPU
m_dValue = ReadMachiningParamDouble(nIndex, MAC_WIPEFEEDPU, 0)
m_bIsLen = True
Case Params.WIPEDIR
m_dValue = ReadMachiningParamDouble(nIndex, MAC_WIPEDIR, 0)
m_bIsLen = True
Case Params.FLOORCOUNT
m_dValue = ReadMachiningParamDouble(nIndex, MAC_FLOORCOUNT, 0)
m_bIsLen = True
@@ -738,24 +705,9 @@ Public Class NumericMachiningParam
Case Params.RIBSSTRANDCOUNT
m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSSTRANDCOUNT, 0)
m_bIsLen = True
Case Params.RIBSLINK
m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLINK, 0)
m_bIsLen = True
Case Params.RIBSINVERTORDER
m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSINVERTORDER, 0)
m_bIsLen = True
Case Params.RIBSINVERTDIRECTION
m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSINVERTDIRECTION, 0)
m_bIsLen = True
Case Params.RIBSLEADININVERT
m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLEADININVERT, 0)
m_bIsLen = True
Case Params.RIBSLEADINLEN
m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLEADINLEN, 0)
m_bIsLen = True
Case Params.RIBSLEADOUTINVERT
m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLEADOUTINVERT, 0)
m_bIsLen = True
Case Params.RIBSLEADOUTLEN
m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLEADOUTLEN, 0)
m_bIsLen = True
@@ -798,6 +750,9 @@ Public Class NumericMachiningParam
Case Params.AUXSOLIDSWIPEDIR
m_dValue = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSWIPEDIR, 0)
m_bIsLen = True
Case Params.CONSTANT
m_dValue = ReadMachiningParamDouble(nIndex, MAC_CONSTANT, 100)
m_bIsLen = False
End Select
End If
m_dOrigValue = m_dValue
@@ -819,6 +774,8 @@ Public Class NumericMachiningParam
WriteMachiningParam(nIndex, MAC_STRANDCOUNT, sWriteValue)
Case Params.OFFSET
WriteMachiningParam(nIndex, MAC_OFFSET, sWriteValue)
Case Params.STRANDOVERLAP
WriteMachiningParam(nIndex, MAC_STRANDOVERLAP, sWriteValue)
Case Params.STARTPOINTOFFSETONSLICE
WriteMachiningParam(nIndex, MAC_STARTPOINTOFFSETONSLICE, sWriteValue)
Case Params.LINKPARAM
@@ -843,6 +800,8 @@ Public Class NumericMachiningParam
WriteMachiningParam(nIndex, MAC_WIPELEN, sWriteValue)
Case Params.WIPEFEEDPU
WriteMachiningParam(nIndex, MAC_WIPEFEEDPU, sWriteValue)
Case Params.WIPEDIR
WriteMachiningParam(nIndex, MAC_WIPEDIR, sWriteValue)
Case Params.FLOORCOUNT
WriteMachiningParam(nIndex, MAC_FLOORCOUNT, sWriteValue)
Case Params.G0FEED
@@ -853,18 +812,8 @@ Public Class NumericMachiningParam
WriteMachiningParam(nIndex, MAC_RIBSOVERLAP, sWriteValue)
Case Params.RIBSSTRANDCOUNT
WriteMachiningParam(nIndex, MAC_RIBSSTRANDCOUNT, sWriteValue)
Case Params.RIBSLINK
WriteMachiningParam(nIndex, MAC_RIBSLINK, sWriteValue)
Case Params.RIBSINVERTORDER
WriteMachiningParam(nIndex, MAC_RIBSINVERTORDER, sWriteValue)
Case Params.RIBSINVERTDIRECTION
WriteMachiningParam(nIndex, MAC_RIBSINVERTDIRECTION, sWriteValue)
Case Params.RIBSLEADININVERT
WriteMachiningParam(nIndex, MAC_RIBSLEADININVERT, sWriteValue)
Case Params.RIBSLEADINLEN
WriteMachiningParam(nIndex, MAC_RIBSLEADINLEN, sWriteValue)
Case Params.RIBSLEADOUTINVERT
WriteMachiningParam(nIndex, MAC_RIBSLEADOUTINVERT, sWriteValue)
Case Params.RIBSLEADOUTLEN
WriteMachiningParam(nIndex, MAC_RIBSLEADOUTLEN, sWriteValue)
Case Params.RIBSLEADOUTCOASTING
@@ -893,6 +842,8 @@ Public Class NumericMachiningParam
WriteMachiningParam(nIndex, MAC_AUXSOLIDSWIPELEN, sWriteValue)
Case Params.AUXSOLIDSWIPEDIR
WriteMachiningParam(nIndex, MAC_AUXSOLIDSWIPEDIR, sWriteValue)
Case Params.CONSTANT
WriteMachiningParam(nIndex, MAC_CONSTANT, sWriteValue)
End Select
End Sub
@@ -902,6 +853,7 @@ Public Class NumericMachiningParam
Friend Overrides Sub ResetParam()
m_dValue = m_dOrigValue
NotifyPropertyChanged(NameOf(sValue))
End Sub
End Class
@@ -952,6 +904,7 @@ Public Class StringMachiningParam
Friend Overrides Sub ResetParam()
m_sValue = m_sOrigValue
NotifyPropertyChanged(NameOf(sValue))
End Sub
End Class
@@ -997,6 +950,20 @@ Public Class ComboMachiningParam
m_SelValue = Nothing
Else
Select Case Type
Case Params.SLICINGTYPE
Dim nHorizontalPrint As Integer = GetPrivateProfileInt(S_MACH_PRINTING3D, K_HORIZONTAL_PRINT, 0, CurrentMachine.sMachIniFile)
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_SLICINGTYPE.VERTICAL, "Vertical"),
New IdNameStruct(Machining.MPAR_SLICINGTYPE.HORIZONTAL, "Horizontal")})
If nHorizontalPrint > 0 Then
m_ValueList.Add(New IdNameStruct(Machining.MPAR_SLICINGTYPE.DEG45, "45°"))
End If
Dim nSelValue As Double = ReadMachiningParamDouble(nIndex, MAC_SLICINGTYPE, -1)
If nSelValue = -1 Then
Dim dSlicing45 As Double = 0
dSlicing45 = ReadMachiningParamDouble(nIndex, MAC_SLICING45, 0)
nSelValue = If(dSlicing45 = 0, Machining.MPAR_SLICINGTYPE.VERTICAL, Machining.MPAR_SLICINGTYPE.DEG45)
End If
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
Case Params.STRANDORDER
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_STRANDORDERS.OUTTOIN, "From Outside To Inside"),
New IdNameStruct(Machining.MPAR_STRANDORDERS.INTOOUT, "From Inside To Outside")})
@@ -1041,6 +1008,8 @@ Public Class ComboMachiningParam
Friend Overrides Sub WriteParamOnDb(nIndex As Integer)
Select Case Type
Case Params.SLICINGTYPE
WriteMachiningParam(nIndex, MAC_SLICING45, m_SelValue.Id)
Case Params.STRANDORDER
WriteMachiningParam(nIndex, MAC_STRANDORDER, m_SelValue.Id)
Case Params.DIRECTION
@@ -1066,6 +1035,7 @@ Public Class ComboMachiningParam
Friend Overrides Sub ResetParam()
m_SelValue = m_OrigSelValue
NotifyPropertyChanged(NameOf(SelValue))
End Sub
End Class
@@ -1103,8 +1073,18 @@ Public Class CheckMachiningParam
m_bValue = 0
Else
Select Case Type
Case Params.SLICING45
m_bValue = ReadMachiningParamDouble(nIndex, MAC_SLICING45, 0)
Case Params.SPIRALVASE
m_bValue = ReadMachiningParamDouble(nIndex, MAC_SPIRALVASE, 0)
Case Params.RIBSLINK
m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLINK, 0)
Case Params.RIBSINVERTORDER
m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSINVERTORDER, 0)
Case Params.RIBSINVERTDIRECTION
m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSINVERTDIRECTION, 0)
Case Params.RIBSLEADININVERT
m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLEADININVERT, 0)
Case Params.RIBSLEADOUTINVERT
m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLEADOUTINVERT, 0)
End Select
End If
m_bOrigValue = m_bValue
@@ -1112,8 +1092,18 @@ Public Class CheckMachiningParam
Friend Overrides Sub WriteParamOnDb(nIndex As Integer)
Select Case Type
Case Params.SLICING45
WriteMachiningParam(nIndex, MAC_SLICING45, If(m_bValue, 1, 0))
Case Params.SPIRALVASE
WriteMachiningParam(nIndex, MAC_SPIRALVASE, If(m_bValue, 1, 0))
Case Params.RIBSLINK
WriteMachiningParam(nIndex, MAC_RIBSLINK, If(m_bValue, 1, 0))
Case Params.RIBSINVERTORDER
WriteMachiningParam(nIndex, MAC_RIBSINVERTORDER, If(m_bValue, 1, 0))
Case Params.RIBSINVERTDIRECTION
WriteMachiningParam(nIndex, MAC_RIBSINVERTDIRECTION, If(m_bValue, 1, 0))
Case Params.RIBSLEADININVERT
WriteMachiningParam(nIndex, MAC_RIBSLEADININVERT, If(m_bValue, 1, 0))
Case Params.RIBSLEADOUTINVERT
WriteMachiningParam(nIndex, MAC_RIBSLEADOUTINVERT, If(m_bValue, 1, 0))
End Select
End Sub
@@ -1123,6 +1113,7 @@ Public Class CheckMachiningParam
Friend Overrides Sub ResetParam()
m_bValue = m_bOrigValue
NotifyPropertyChanged(NameOf(bValue))
End Sub
End Class
@@ -1196,6 +1187,7 @@ Public Class MaterialMachiningParam
Friend Overrides Sub ResetParam()
m_bValue = m_bOrigValue
NotifyPropertyChanged(NameOf(bValue))
End Sub
End Class
+22 -21
View File
@@ -17,44 +17,44 @@
<UniformGrid Rows="1">
<Button Content="New"
Command="{Binding New_Command}"
IsEnabled="{Binding IsEnabled}"
Style="{StaticResource ToolBar_TextButton}"/>
<Button Content="Save"
Command="{Binding Save_Command}"
IsEnabled="{Binding IsEnabled}"
Style="{StaticResource ToolBar_TextButton}"/>
<Button Content="Delete"
Command="{Binding Delete_Command}"
IsEnabled="{Binding IsEnabled}"
Style="{StaticResource ToolBar_TextButton}"/>
</UniformGrid>
<ComboBox Grid.Row="1"
Name="MachiningCombo"
ItemsSource="{Binding MachiningList}"
SelectedItem="{Binding SelMachining}"
DisplayMemberPath="ghName"/>
<Grid Grid.Row="2"
Visibility="{Binding Name_Visibility}">
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Name_Msg}"/>
<EgtWPFLib5:EgtTextBox Grid.Column="1"
Text="{Binding SelectedItem.sName, ElementName=MachiningCombo, UpdateSourceTrigger=Explicit}"/>
<!--<Button Grid.Column="2"
Content="R"
Command="{Binding ResetParam_Command}"
CommandParameter="dCurrStrandH"
IsEnabled="{Binding bCurrStrandH_IsModified}"
VerticalContentAlignment="Center"
HorizontalContentAlignment="Center"
Margin="5,0,0,0"
Style="{StaticResource ToolBar_SmallButton}"/>-->
<ComboBox Name="MachiningCombo"
ItemsSource="{Binding MachiningList}"
SelectedItem="{Binding SelMachining}"
DisplayMemberPath="ghName"
Visibility="{Binding Combo_Visibility}"
Style="{StaticResource FeatureComboBox}"/>
<EgtWPFLib5:EgtTextBox Text="{Binding SelectedItem.sName, ElementName=MachiningCombo, UpdateSourceTrigger=Explicit}"
IsExplicitFocused="{Binding UserShouldEditValueNow}"
Visibility="{Binding Name_Visibility}"
Style="{StaticResource OptionTextBox}"/>
<Button Grid.Column="1"
Command="{Binding EditName_Command}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/TopPanel/Edit.png"/>
</Button>
</Grid>
<ScrollViewer Grid.Row="3"
VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Disabled">
<ItemsControl Grid.Row="1"
ItemsSource="{Binding SelectedItem.CathegoryList, ElementName=MachiningCombo}">
ItemsSource="{Binding SelectedItem.CathegoryList, ElementName=MachiningCombo}"
IsEnabled="{Binding IsEnabled}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical"/>
@@ -173,6 +173,7 @@
<UniformGrid Grid.Row="4" Rows="1">
<Button Content="Ok"
Command="{Binding Ok_Command}"
IsEnabled="{Binding IsEnabled}"
Style="{StaticResource ToolBar_TextButton}"/>
</UniformGrid>
</Grid>
+71 -5
View File
@@ -59,10 +59,13 @@ Public Class MachiningDbVM
Return m_Name_Visibility
End Get
End Property
Friend Sub SetNameVisibility(bValue As Boolean)
m_Name_Visibility = If(bValue, Visibility.Visible, Visibility.Collapsed)
NotifyPropertyChanged(NameOf(Name_Visibility))
End Sub
Private m_Combo_Visibility As Visibility = Visibility.Visible
Public ReadOnly Property Combo_Visibility As Visibility
Get
Return m_Combo_Visibility
End Get
End Property
' variabile che indica se una qualunque lavorazione e' stata modificata
Private m_bIsModified As Boolean = False
@@ -75,11 +78,39 @@ Public Class MachiningDbVM
m_bIsModified = value
End Sub
Private m_IsEnabled As Boolean = True
Public ReadOnly Property IsEnabled As Boolean
Get
Return m_IsEnabled
End Get
End Property
Friend Sub SetIsEnabled(value As Boolean)
m_IsEnabled = value
NotifyPropertyChanged(NameOf(IsEnabled))
End Sub
Private m_UserShouldEditValueNow As Boolean = False
Public Property UserShouldEditValueNow As Boolean
Get
Return m_UserShouldEditValueNow
End Get
Set(value As Boolean)
m_UserShouldEditValueNow = value
End Set
End Property
Friend Sub SetUserShouldEditValueNow()
m_UserShouldEditValueNow = True
NotifyPropertyChanged(NameOf(UserShouldEditValueNow))
m_UserShouldEditValueNow = False
NotifyPropertyChanged(NameOf(UserShouldEditValueNow))
End Sub
' Definizione comandi
Private m_cmdOk As ICommand
Private m_cmdNew As ICommand
Private m_cmdSave As ICommand
Private m_cmdDelete As ICommand
Private m_cmdEditName As ICommand
#End Region ' FIELDS & PROPERTIES
@@ -109,6 +140,14 @@ Public Class MachiningDbVM
NotifyPropertyChanged(NameOf(SelMachining))
End Sub
Friend Sub SetNameVisibility(bValue As Boolean)
m_Name_Visibility = If(bValue, Visibility.Visible, Visibility.Collapsed)
m_Combo_Visibility = If(Not bValue, Visibility.Visible, Visibility.Collapsed)
NotifyPropertyChanged(NameOf(Name_Visibility))
NotifyPropertyChanged(NameOf(Combo_Visibility))
If bValue Then SetUserShouldEditValueNow()
End Sub
#End Region ' METHODS
#Region "COMMANDS"
@@ -125,7 +164,7 @@ Public Class MachiningDbVM
End Property
Public Sub Ok()
If m_SelMachining.bIsModified Then
If Not IsNothing(m_SelMachining) AndAlso m_SelMachining.bIsModified Then
' chiedo se salvare
Select Case MessageBox.Show("Do you want to save modified parameters?", "Warning", MessageBoxButton.YesNoCancel, MessageBoxImage.Warning)
Case MessageBoxResult.Yes
@@ -170,6 +209,11 @@ Public Class MachiningDbVM
For Index = 0 To m_MachiningList.Count - 1
m_MachiningList(Index).WriteParamsOnDb(Index + 1)
Next
m_bIsModified = False
' aggiorno combo top
Dim CurrSelTopMachining As MachiningIndex = Map.refTopPanelVM.SelMachining
Map.refTopPanelVM.InitMachiningsList()
Map.refTopPanelVM.SetSelMachining( CurrSelTopMachining)
End If
' ripristino modalita' standard
Map.refTopPanelVM.SelPage = Pages.MODIFY
@@ -211,6 +255,7 @@ Public Class MachiningDbVM
End Property
Public Sub Save()
If IsNothing( m_SelMachining) Then Return
m_SelMachining.Save()
End Sub
@@ -228,10 +273,12 @@ Public Class MachiningDbVM
End Property
Public Sub Delete()
If IsNothing(m_SelMachining) Then Return
' chiedo conferma
Select Case MessageBox.Show("Sei sicuro di voler cancellare la lavorazione selezionata?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning)
Case MessageBoxResult.Yes
m_MachiningList.Remove(m_SelMachining)
SetIsModified(True)
Case MessageBoxResult.No
Return
End Select
@@ -239,6 +286,25 @@ Public Class MachiningDbVM
#End Region ' Delete
#Region "EditName"
Public ReadOnly Property EditName_Command As ICommand
Get
If m_cmdEditName Is Nothing Then
m_cmdEditName = New Command(AddressOf EditName)
End If
Return m_cmdEditName
End Get
End Property
Public Sub EditName()
If IsNothing(m_SelMachining) Then Return
SetNameVisibility(True)
SetIsEnabled(False)
End Sub
#End Region ' EditName
#End Region ' COMMANDS
End Class
+4 -2
View File
@@ -195,8 +195,8 @@ Public Class MainWindowM
' Verifico abilitazione nesting automatico
m_bAutoNestOption = Not String.IsNullOrWhiteSpace(sNestKey)
' Recupero livello e opzioni della chiave
Dim bKey As Boolean = EgtGetKeyLevel(3279, 2405, 1, m_nKeyLevel) And
EgtGetKeyOptions(3279, 2405, 1, m_nKeyOptions)
Dim bKey As Boolean = EgtGetKeyLevel(3279, 2410, 1, m_nKeyLevel) And
EgtGetKeyOptions(3279, 2410, 1, m_nKeyOptions)
' Inizializzazione generale di EgtInterface
m_nDebug = GetMainPrivateProfileInt(S_GENERAL, K_DEBUG, 0)
m_sLogFile = m_sTempDir & "\" & GENLOG_FILE_NAME.Replace("#", m_nInstance.ToString())
@@ -214,6 +214,8 @@ Public Class MainWindowM
If GetMainPrivateProfileString(S_GENERAL, K_MESSAGESDIR, "", sMsgDir) = 0 Then
sMsgDir = m_sConfigDir
End If
' Inizializzo OptionModule
OptionModule.InitOptionModule()
' Leggo lingua corrente
Dim sLanguage As String = String.Empty
GetMainPrivateProfileString(S_GENERAL, K_MESSAGES, "", sLanguage)
@@ -0,0 +1,120 @@
<UserControl x:Class="ModifyPartPanelV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Icarus"
Width="150"
Margin="5,0,0,0">
<Grid DockPanel.Dock="Left">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Border Style="{StaticResource LeftPanelTitle_Border}">
<TextBlock Text="Part entity list"
FontWeight="DemiBold"
FontSize="14"/>
</Border>
<!--<DockPanel Grid.Row="1">
<Button DockPanel.Dock="Left"
Content="+"
FontSize="20"
Command="{Binding AddPart_Command}"
Style="{StaticResource LeftPanel_Button}"/>
<Button DockPanel.Dock="Left"
Content="-"
FontSize="20"
Command="{Binding RemovePart_Command}"
Style="{StaticResource LeftPanel_Button}"/>
<Button Content="Reference"
Command="{Binding SetReference_Command}"
Style="{StaticResource LeftPanel_TextButton}"/>
</DockPanel>-->
<TreeView Grid.Row="2"
ItemsSource="{Binding ModifyPartList}"
MinHeight="300">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type local:ModifyPart}"
ItemsSource="{Binding LayerList}">
<StackPanel Orientation="Horizontal">
<Image Source="/Resources/TreeView/Folder.png"
Height="15"/>
<TextBlock Text="{Binding ghName}" />
</StackPanel>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type local:ModifyLayer}"
ItemsSource="{Binding EntityList, UpdateSourceTrigger=PropertyChanged}">
<StackPanel Orientation="Horizontal">
<Image Source="/Resources/TreeView/Folder.png"
Height="15"/>
<TextBlock Text="{Binding sName}" />
</StackPanel>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type local:ModifyEntity}">
<StackPanel Orientation="Horizontal">
<!--<Image Source="/WpfTutorialSamples;component/Images/user.png" Margin="0,0,5,0" />-->
<TextBlock Text="{Binding ghName}" />
<TextBlock Text="{Binding ghReference, UpdateSourceTrigger=PropertyChanged}"/>
</StackPanel>
</HierarchicalDataTemplate>
<!-- Menu' tasto destro -->
<ContextMenu x:Key="RowMenu" ItemsSource="{Binding MenuList}" >
<ContextMenu.ItemContainerStyle>
<Style TargetType="MenuItem">
<Setter Property="Command" Value="{Binding MenuItem_Command}"/>
<Setter Property="CommandParameter" Value="{Binding MenuItem_Command}"/>
<Setter Property="Header" Value="{Binding sMsg}"/>
</Style>
</ContextMenu.ItemContainerStyle>
</ContextMenu>
</TreeView.Resources>
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="IsSelected" Value="{Binding bIsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
<Setter Property="IsExpanded" Value="True" />
<Setter Property="ContextMenu" Value="{StaticResource RowMenu}" />
</Style>
</TreeView.ItemContainerStyle>
</TreeView>
<!--<Border Grid.Row="3"
Style="{StaticResource LeftPanelTitle_Border}">
<TextBlock Text="Lista entità importate"
FontWeight="DemiBold"
FontSize="14"/>
</Border>
<ListBox Grid.Row="4"
ItemsSource="{Binding ImportedEntityList, UpdateSourceTrigger=PropertyChanged}"
SelectedItem="{Binding SelImportedEntity}"
MinHeight="200">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid HorizontalAlignment="Stretch">
<Grid.InputBindings>
<MouseBinding Gesture="LeftDoubleClick"
Command="{Binding ImportedEntity_DoubleClick}"/>
</Grid.InputBindings>
<TextBlock Text="{Binding ghName}">
</TextBlock>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>-->
<UniformGrid Grid.Row="5"
Rows="1">
<Button Content="Ok"
Command="{Binding Ok_Command}"
Style="{StaticResource LeftPanel_TextButton}"/>
<!--<Button Content="Cancel"
Command="{Binding Cancel_Command}"
Style="{StaticResource LeftPanel_TextButton}"/>-->
</UniformGrid>
</Grid>
</UserControl>
@@ -0,0 +1,3 @@
Public Class ModifyPartPanelV
End Class
+407
View File
@@ -0,0 +1,407 @@
Imports System.Collections.ObjectModel
Imports EgtUILib
Imports EgtWPFLib5
Public Class ModifyPartPanelVM
Inherits VMBase
'Private m_nImportedPartId As Integer = GDB_ID.NULL
'Friend ReadOnly Property nImportedPartId As Integer
' Get
' Return m_nImportedPartId
' End Get
'End Property
'Private m_ImportedEntityList As New ObservableCollection(Of GeomEntity)
'Public Property ImportedEntityList As ObservableCollection(Of GeomEntity)
' Get
' Return m_ImportedEntityList
' End Get
' Set(value As ObservableCollection(Of GeomEntity))
' m_ImportedEntityList = value
' End Set
'End Property
'Private m_SelImportedEntity As GeomEntity
'Public Property SelImportedEntity As GeomEntity
' Get
' Return m_SelImportedEntity
' End Get
' Set(value As GeomEntity)
' m_SelImportedEntity = value
' EgtDeselectAll()
' If Not IsNothing(m_SelImportedEntity) Then
' EgtSelectObj(m_SelImportedEntity.nId)
' End If
' EgtDraw()
' End Set
'End Property
'Friend Sub SetSelImportedEntity(nId As Integer)
' m_SelImportedEntity = Map.refImportPanelVM.ImportedEntityList.FirstOrDefault(Function(x) x.nId = nId)
' EgtDeselectAll()
' If Not IsNothing(m_SelImportedEntity) Then
' EgtSelectObj(m_SelImportedEntity.nId)
' End If
' EgtDraw()
' NotifyPropertyChanged(NameOf(SelImportedEntity))
'End Sub
Private m_ModifyPartList As New ObservableCollection(Of ModifyPart)
Public ReadOnly Property ModifyPartList As ObservableCollection(Of ModifyPart)
Get
Return m_ModifyPartList
End Get
End Property
Private m_SelModifyPart As ModifyPart
Friend Sub SetSelModifyPart(SelModifyPart As ModifyPart)
m_SelModifyPart = SelModifyPart
m_SelModifyLayer = Nothing
End Sub
Public ReadOnly Property SelModifyPart As ModifyPart
Get
Return m_SelModifyPart
End Get
End Property
Private m_SelModifyLayer As ModifyLayer
Public ReadOnly Property SelModifyLayer As ModifyLayer
Get
Return m_SelModifyLayer
End Get
End Property
Friend Sub SetSelModifyLayer(SelModifyLayer As ModifyLayer)
m_SelModifyPart = m_ModifyPartList.FirstOrDefault(Function(x) x.LayerList.Contains(SelModifyLayer))
m_SelModifyLayer = SelModifyLayer
End Sub
Private m_SelModifyEntity As ModifyEntity
Public ReadOnly Property SelModifyEntity As ModifyEntity
Get
Return m_SelModifyEntity
End Get
End Property
Friend Sub SetSelModifyEntity(SelModifyEntity As ModifyEntity)
For Each CurrPart In m_ModifyPartList
Dim CurrLayer As ModifyLayer = CurrPart.LayerList.FirstOrDefault(Function(x) x.EntityList.Contains(SelModifyEntity))
If Not IsNothing(CurrLayer) Then
m_SelModifyPart = CurrPart
m_SelModifyLayer = CurrLayer
Exit For
End If
Next
m_SelModifyEntity = SelModifyEntity
End Sub
' Definizione comandi
Private m_cmdOk As ICommand
Private m_cmdCancel As ICommand
Sub New()
' Creo riferimento a questa classe in EgtCAM5Map
Map.SetRefModifyPartPanelVM(Me)
End Sub
#Region "METHODS"
Friend Sub Init()
m_ModifyPartList.Clear()
' carico pezzi in lista
For Each PrintPart In Map.refTopPanelVM.PartList
m_ModifyPartList.Add(New ModifyPart(PrintPart))
Next
End Sub
#End Region ' METHODS
#Region "COMMANDS"
'#Region "SetReference"
' Public ReadOnly Property SetReference_Command As ICommand
' Get
' If m_cmdSetReference Is Nothing Then
' m_cmdSetReference = New Command(AddressOf SetReference)
' End If
' Return m_cmdSetReference
' End Get
' End Property
' Public Sub SetReference()
' If Not IsNothing(SelGeomEntity) Then
' Dim ChooseReferenceWndVM As New ChooseReferenceWndVM
' Dim ChooseReferenceWndV As New ChooseReferenceWndV(Application.Current.MainWindow, ChooseReferenceWndVM)
' If Not ChooseReferenceWndV.ShowDialog() Then Return
' SelGeomEntity.Reference = ChooseReferenceWndVM.SelReference
' End If
' End Sub
'#End Region ' SetReference
'#Region "AddPart"
' Public ReadOnly Property AddPart_Command As ICommand
' Get
' If m_cmdAddPart Is Nothing Then
' m_cmdAddPart = New Command(AddressOf AddPart)
' End If
' Return m_cmdAddPart
' End Get
' End Property
' Public Sub AddPart()
' m_ImportPartList.Add(New ImportPart)
' End Sub
'#End Region ' AddPart
'#Region "RemovePart"
' Public ReadOnly Property RemovePart_Command As ICommand
' Get
' If m_cmdRemovePart Is Nothing Then
' m_cmdRemovePart = New Command(AddressOf RemovePart)
' End If
' Return m_cmdRemovePart
' End Get
' End Property
' Public Sub RemovePart()
' If IsNothing(SelImportLayer) Then
' ' rimuovo pezzo
' m_ImportPartList.Remove(SelImportPart)
' Else
' ' rimuovo geometria
' Dim CurrEntity As GeomEntity = m_SelGeomEntity
' SelImportLayer.EntityList.Remove(m_SelGeomEntity)
' ' la rimetto in lista importati
' ImportedEntityList.Add(CurrEntity)
' End If
' End Sub
'#End Region ' RemovePart
#Region "Ok"
Public ReadOnly Property Ok_Command As ICommand
Get
If m_cmdOk Is Nothing Then
m_cmdOk = New Command(AddressOf Ok)
End If
Return m_cmdOk
End Get
End Property
Public Sub Ok()
'Dim sErr As New List(Of String)
'' verifico che tutti i pezzi abbiano una superficie da stampare nel layer apposito
'For Each CurrPart In m_ImportPartList
' For Each CurrLayer In CurrPart.LayerList
' Select Case CurrLayer.Type
' Case ImportLayer.LayerType.PRINT_SOLID
' If CurrLayer.EntityList.Count = 0 Then
' If sErr.Count > 0 Then sErr(sErr.Count - 1) &= Environment.NewLine
' sErr.Add(CurrPart.ghName & " - No print surface defined!")
' End If
' End Select
' Next
'Next
'If sErr.Count > 0 Then
' MessageBox.Show(String.Concat(sErr), "Error")
' Return
'Else
' ' Creo pezzi e layer necessari
' For Each ImportPart In m_ImportPartList
' Dim frImportedPart As New Frame3d
' EgtGetGroupGlobFrame(m_nImportedPartId, frImportedPart)
' Dim nPartId As Integer = EgtCreateGroup(GDB_ID.ROOT, frImportedPart)
' EgtSetName(nPartId, PART)
' Dim nFrameId As Integer = GDB_ID.NULL
' Dim b3PrintSolid As New BBox3d
' Dim nPrintPartLayerId As Integer = GDB_ID.NULL
' Dim PrintSolidEntity As GeomEntity = Nothing
' Dim nOriginalPartLayerId As Integer = GDB_ID.NULL
' Dim nRibsLayerId As Integer = GDB_ID.NULL
' Dim nShellNumberLayerId As Integer = GDB_ID.NULL
' Dim nAuxSolidsLayerId As Integer = GDB_ID.NULL
' Dim nMachStartLayerId As Integer = GDB_ID.NULL
' Dim nOthersLayerId As Integer = GDB_ID.NULL
' For Each ImportLayer In ImportPart.LayerList
' Select Case ImportLayer.Type
' Case ImportLayer.LayerType.PRINT_SOLID
' nPrintPartLayerId = EgtCreateGroup(nPartId)
' EgtSetName(nPrintPartLayerId, PRINT_SOLID)
' If ImportLayer.EntityList.Count > 0 Then
' PrintSolidEntity = ImportLayer.EntityList(0)
' EgtRelocateGlob(PrintSolidEntity.nId, nPrintPartLayerId, GDB_POS.LAST_SON)
' ' calcolo box superficie per creazione riferimento
' EgtGetBBoxGlob(PrintSolidEntity.nId, GDB_BB.STANDARD, b3PrintSolid)
' End If
' 'Case ImportLayer.LayerType.ORIGINAL_SOLID
' ' nOriginalPartLayerId = EgtCreateGroup(nPartId)
' ' EgtSetName(nOriginalPartLayerId, ORIGINAL_SOLID)
' ' For Each GeomEntity In ImportLayer.EntityList
' ' EgtRelocateGlob(GeomEntity.nId, nOriginalPartLayerId, GDB_POS.LAST_SON)
' ' Next
' Case ImportLayer.LayerType.MACH_START
' nMachStartLayerId = EgtCreateGroup(nPartId)
' EgtSetName(nMachStartLayerId, LAY_MACH_START)
' Dim nMachStartId As Integer = GDB_ID.NULL
' If ImportLayer.EntityList.Count > 0 Then
' For Each GeomEntity In ImportLayer.EntityList
' ' se punto o curva compo
' Dim EntityType As GDB_TY = EgtGetType(GeomEntity.nId)
' Select Case EntityType
' Case GDB_TY.GEO_POINT, GDB_TY.CRV_COMPO
' ' gli cambio layer
' EgtRelocateGlob(GeomEntity.nId, nMachStartLayerId, GDB_POS.LAST_SON)
' nMachStartId = GeomEntity.nId
' Case GDB_TY.CRV_ARC, GDB_TY.CRV_BEZ, GDB_TY.CRV_LINE
' ' altrimenti la trasformo in curva compo
' nMachStartId = EgtCreateCurveCompo(nMachStartLayerId, GeomEntity.nId, True)
' End Select
' EgtSetName(nMachStartId, START_GEOM)
' ' coloro l'entita' di rosso
' Dim c3Red As Color3d
' c3Red.FromColor(System.Drawing.Color.Red)
' EgtSetColor(nMachStartId, c3Red)
' Next
' Else
' ' creo punto di partenza
' Dim ptStart As Point3d = b3PrintSolid.Center() - 0.6 * b3PrintSolid.DimY() * Vector3d.Y_AX() - 0.5 * b3PrintSolid.DimZ() * Vector3d.Z_AX()
' nMachStartId = EgtCreateGeoPoint(nMachStartLayerId, ptStart, GDB_RT.GLOB)
' EgtSetName(nMachStartId, START_GEOM)
' ' coloro l'entita' di rosso
' Dim c3Red As Color3d
' c3Red.FromColor(System.Drawing.Color.Red)
' EgtSetColor(nMachStartId, c3Red)
' End If
' Case ImportLayer.LayerType.RIBS
' nRibsLayerId = EgtCreateGroup(nPartId)
' EgtSetName(nRibsLayerId, LAY_RIBS)
' For Each GeomEntity In ImportLayer.EntityList
' EgtSetInfo(GeomEntity.nId, KEY_RIB_TYPE, RibEntity.RibTypes.FROMIMPORT)
' EgtRelocateGlob(GeomEntity.nId, nRibsLayerId, GDB_POS.LAST_SON)
' ' coloro l'entita' di viola
' Dim c3LightBlue As Color3d
' c3LightBlue.FromColor(System.Drawing.Color.MediumOrchid)
' EgtSetColor(GeomEntity.nId, c3LightBlue)
' Next
' Case ImportLayer.LayerType.SHELL_NUMBER
' nShellNumberLayerId = EgtCreateGroup(nPartId)
' EgtSetName(nShellNumberLayerId, LAY_SHELL_NBR)
' For Each GeomEntity In ImportLayer.EntityList
' EgtSetInfo(GeomEntity.nId, KEY_SHELLNBR_TYPE, ShellNumberEntity.ShellNumberTypes.FROMIMPORT)
' EgtRelocateGlob(GeomEntity.nId, nShellNumberLayerId, GDB_POS.LAST_SON)
' ' coloro l'entita' di verde
' Dim c3LightBlue As Color3d
' c3LightBlue.FromColor(System.Drawing.Color.Lime)
' EgtSetColor(GeomEntity.nId, c3LightBlue)
' Next
' Case ImportLayer.LayerType.AUX_SOLIDS
' nAuxSolidsLayerId = EgtCreateGroup(nPartId)
' EgtSetName(nAuxSolidsLayerId, LAY_AUX_SOLIDS)
' For Each GeomEntity In ImportLayer.EntityList
' EgtSetInfo(GeomEntity.nId, KEY_AUXSOLID_TYPE, RibEntity.RibTypes.FROMIMPORT)
' EgtRelocateGlob(GeomEntity.nId, nAuxSolidsLayerId, GDB_POS.LAST_SON)
' ' coloro l'entita' di oro
' Dim c3LightBlue As Color3d
' c3LightBlue.FromColor(System.Drawing.Color.DarkGoldenrod)
' EgtSetColor(GeomEntity.nId, c3LightBlue)
' Next
' Case ImportLayer.LayerType.OTHERS
' nOthersLayerId = EgtCreateGroup(nPartId)
' EgtSetName(nOthersLayerId, LAY_OTHERS)
' For Each GeomEntity In ImportLayer.EntityList
' EgtRelocateGlob(GeomEntity.nId, nOthersLayerId, GDB_POS.LAST_SON)
' Next
' End Select
' Next
' ' aggiungo riferimento
' Dim nReferenceLayerId As Integer = EgtCreateGroup(nPartId)
' EgtSetName(nReferenceLayerId, LAY_REFERENCE)
' ' Creo riferimento
' Dim ptOrig As New Point3d(b3PrintSolid.Min())
' Select Case PrintSolidEntity.Reference
' Case ChooseReferenceWndVM.References.TL
' ptOrig += b3PrintSolid.DimY() * Vector3d.Y_AX
' Case ChooseReferenceWndVM.References.TR
' ptOrig += b3PrintSolid.DimY() * Vector3d.Y_AX + b3PrintSolid.DimX() * Vector3d.X_AX
' Case ChooseReferenceWndVM.References.BL
' Case ChooseReferenceWndVM.References.BR
' ptOrig += b3PrintSolid.DimX() * Vector3d.X_AX
' Case ChooseReferenceWndVM.References.TC
' ptOrig += b3PrintSolid.DimY() * Vector3d.Y_AX + b3PrintSolid.DimX() / 2 * Vector3d.X_AX
' Case ChooseReferenceWndVM.References.ML
' ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX
' Case ChooseReferenceWndVM.References.MR
' ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX + b3PrintSolid.DimX() * Vector3d.X_AX
' Case ChooseReferenceWndVM.References.TC
' ptOrig += b3PrintSolid.DimY() * Vector3d.Y_AX + b3PrintSolid.DimX() / 2 * Vector3d.X_AX
' Case ChooseReferenceWndVM.References.MR
' ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX + b3PrintSolid.DimX() * Vector3d.X_AX
' Case ChooseReferenceWndVM.References.BC
' ptOrig += b3PrintSolid.DimX() / 2 * Vector3d.X_AX
' Case ChooseReferenceWndVM.References.MC
' ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX + b3PrintSolid.DimX() / 2 * Vector3d.X_AX
' End Select
' Dim frPrintSolid As New Frame3d(ptOrig)
' nFrameId = EgtCreateGeoFrame(nReferenceLayerId, frPrintSolid, GDB_RT.GLOB)
' If nFrameId Then
' EgtSetName(nFrameId, FRAME_PART)
' EgtSetMode(nFrameId, GDB_MD.LOCKED)
' End If
' EgtSetInfo(nReferenceLayerId, KEY_REFERENCE, PrintSolidEntity.Reference)
' ' appoggio il pezzo sulla tavola
' EgtMove( nPartId, New Vector3d(0, 0, -b3PrintSolid.Min.z))
' ' lo aggiungo a lista pezzi
' Dim sFilePath As String = ""
' EgtGetInfo(m_nImportedPartId, FILE_PATH, sFilePath)
' EgtSetInfo(nPartId, FILE_PATH, sFilePath)
' EgtSetInfo(nPartId, "PartOnTable", 1)
' Dim NewPart As New Print3dPartVM(nPartId, nPrintPartLayerId, PrintSolidEntity.nId, nOriginalPartLayerId, nReferenceLayerId, nFrameId, nMachStartLayerId, nRibsLayerId, nShellNumberLayerId, nAuxSolidsLayerId, nOthersLayerId, sFilePath)
' Map.refTopPanelVM.PartList.Add(NewPart)
' Next
'End If
''EgtAddMachGroup("3dPrint")
''EgtSetTable("Tab")
''Dim nRawId As Integer = EgtAddRawPart(b3PrintSolid.Min, b3PrintSolid.DimX, b3PrintSolid.DimY, b3PrintSolid.DimZ, New Color3d(128, 128, 128, 30))
''EgtAddPartToRawPart(nPartId, b3PrintSolid.Min, nRawId)
''EgtMoveToCornerRawPart(nRawId, New Point3d(dPosX, dPosY, 0), MCH_CR.BL)
''EgtResetCurrMachGroup()
'' seleziono ultimo pezzo aggiunto
'Map.refTopPanelVM.SelLastPart()
'' elimino vecchio pezzo d'importazione
'EgtErase(m_nImportedPartId)
'EgtDraw()
' ripristino modalita' standard
Map.refTopPanelVM.SelPage = Pages.MODIFY
End Sub
#End Region ' Ok
#Region "Cancel"
Public ReadOnly Property Cancel_Command As ICommand
Get
If m_cmdCancel Is Nothing Then
m_cmdCancel = New Command(AddressOf Cancel)
End If
Return m_cmdCancel
End Get
End Property
Public Sub Cancel()
' ripristino modalita' standard
Map.refTopPanelVM.SelPage = Pages.MODIFY
End Sub
#End Region ' Cancel
#End Region ' COMMANDS
End Class
+435
View File
@@ -0,0 +1,435 @@
Imports System.Collections.ObjectModel
Imports EgtUILib
Imports EgtWPFLib5
Public Class ModifyEntity
Inherits VMBase
' layer sotto cui e' questa entita'
Private m_OrigLayer As ModifyLayer
Friend ReadOnly Property OrigLayer As ModifyLayer
Get
Return m_OrigLayer
End Get
End Property
Private m_bIsSelected As Boolean
Public Property bIsSelected As Boolean
Get
Return m_bIsSelected
End Get
Set(value As Boolean)
m_bIsSelected = value
' seleziono in scena
EgtDeselectAll()
If Not IsNothing(value) Then
EgtSelectObj(m_nId)
End If
EgtDraw()
' segno come elemento selezionato in treeview
Map.refModifyPartPanelVM.SetSelModifyEntity(Me)
End Set
End Property
Private m_nId As Integer = GDB_ID.NULL
Public ReadOnly Property nId As Integer
Get
Return m_nId
End Get
End Property
Private m_sName As String
Public ReadOnly Property sName As String
Get
Return m_sName
End Get
End Property
Public ReadOnly Property ghName As String
Get
Return m_nId
End Get
End Property
Private m_MenuList As New List(Of MenuItemVm)
Public Property MenuList As List(Of MenuItemVm)
Get
Return m_MenuList
End Get
Set(value As List(Of MenuItemVm))
m_MenuList = value
End Set
End Property
Sub New(nId As Integer, sName As String, OrigLayer As ModifyLayer)
m_nId = nId
m_sName = sName
m_OrigLayer = OrigLayer
' aggiungo voci layer a contextmenu
CreateContextMenu(OrigLayer)
End Sub
Friend Sub UpdateContextMenu(OrigLayer As ModifyLayer)
m_MenuList.Clear()
' aggiungo voci layer a contextmenu
CreateContextMenu(OrigLayer)
End Sub
Friend Sub CreateContextMenu(OrigLayer As ModifyLayer)
For Each ProjectPart In Map.refTopPanelVM.PartList
' verifico in quali layer puo' andare questo elemento
Dim EntityType As GDB_TY = EgtGetType(nId)
Select Case EntityType
Case GDB_TY.GEO_POINT, GDB_TY.CRV_COMPO, GDB_TY.CRV_ARC, GDB_TY.CRV_BEZ, GDB_TY.CRV_LINE
' recupero i layer
If OrigLayer.Type <> ModifyLayer.LayerType.MACH_START Then m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ModifyLayer.LayerType.MACH_START, ProjectPart))
If OrigLayer.Type <> ModifyLayer.LayerType.OTHERS Then m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ModifyLayer.LayerType.OTHERS, ProjectPart))
Case GDB_TY.SRF_MESH
' verifico se volume chiuso
If OrigLayer.Type <> ModifyLayer.LayerType.PRINT_SOLID Then m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ModifyLayer.LayerType.PRINT_SOLID, ProjectPart))
If OrigLayer.Type <> ModifyLayer.LayerType.SHELL_NUMBER Then m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ModifyLayer.LayerType.SHELL_NUMBER, ProjectPart))
If OrigLayer.Type <> ModifyLayer.LayerType.AUX_SOLIDS Then m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ModifyLayer.LayerType.AUX_SOLIDS, ProjectPart))
If OrigLayer.Type <> ModifyLayer.LayerType.RIBS Then m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ModifyLayer.LayerType.RIBS, ProjectPart))
If OrigLayer.Type <> ModifyLayer.LayerType.OTHERS Then m_MenuList.Add(New MenuItemVm(Me, OrigLayer, ModifyLayer.LayerType.OTHERS, ProjectPart))
End Select
Next
End Sub
Friend Sub UpdateOrigLayer(NewLayer As ModifyLayer)
m_OrigLayer = NewLayer
End Sub
End Class
Public Class ModifyPart
Inherits VMBase
Private m_bIsSelected As Boolean
Public Property bIsSelected As Boolean
Get
Return m_bIsSelected
End Get
Set(value As Boolean)
m_bIsSelected = value
Map.refModifyPartPanelVM.SetSelModifyPart(Me)
End Set
End Property
Private m_PrintPart As Print3dPartVM
Public ReadOnly Property PrintPart As Print3dPartVM
Get
Return m_PrintPart
End Get
End Property
Private m_sName As String
Public Property sName As String
Get
Return m_sName
End Get
Set(value As String)
m_sName = value
End Set
End Property
Public ReadOnly Property ghName As String
Get
Return m_PrintPart.sImportedFileName
End Get
End Property
Private m_LayerList As New ObservableCollection(Of ModifyLayer)
Public ReadOnly Property LayerList As ObservableCollection(Of ModifyLayer)
Get
Return m_LayerList
End Get
End Property
Sub New(PrintPart As Print3dPartVM)
m_PrintPart = PrintPart
m_LayerList.Add(New ModifyLayer(ModifyLayer.LayerType.PRINT_SOLID, "Print", PrintPart))
m_LayerList.Add(New ModifyLayer(ModifyLayer.LayerType.MACH_START, "Layer Start", PrintPart))
m_LayerList.Add(New ModifyLayer(ModifyLayer.LayerType.RIBS, "Ribs", PrintPart))
m_LayerList.Add(New ModifyLayer(ModifyLayer.LayerType.SHELL_NUMBER, "Reduce Shell Number", PrintPart))
m_LayerList.Add(New ModifyLayer(ModifyLayer.LayerType.AUX_SOLIDS, "Filled Solids", PrintPart))
m_LayerList.Add(New ModifyLayer(ModifyLayer.LayerType.OTHERS, "Others", PrintPart))
End Sub
End Class
Public Class ModifyLayer
Inherits VMBase
Public Enum LayerType As Integer
PRINT_SOLID = 1
MACH_START = 2
RIBS = 3
SHELL_NUMBER = 4
AUX_SOLIDS = 5
OTHERS = 6
End Enum
Private m_nLayerId As Integer
Private m_bIsSelected As Boolean
Public Property bIsSelected As Boolean
Get
Return m_bIsSelected
End Get
Set(value As Boolean)
m_bIsSelected = value
Map.refModifyPartPanelVM.SetSelModifyLayer(Me)
End Set
End Property
Private m_Type As LayerType
Public Property Type As LayerType
Get
Return m_Type
End Get
Set(value As LayerType)
m_Type = value
End Set
End Property
Private m_sName As String
Public Property sName As String
Get
Return m_sName
End Get
Set(value As String)
m_sName = value
End Set
End Property
Private m_EntityList As New ObservableCollection(Of ModifyEntity)
Public Property EntityList As ObservableCollection(Of ModifyEntity)
Get
Return m_EntityList
End Get
Set(value As ObservableCollection(Of ModifyEntity))
m_EntityList = value
End Set
End Property
Sub New(Type As LayerType, sName As String)
m_Type = Type
m_sName = sName
End Sub
Sub New(Type As LayerType, sName As String, PrintPart As Print3dPartVM)
m_Type = Type
m_sName = sName
Select Case Type
Case LayerType.PRINT_SOLID
m_nLayerId = PrintPart.nPrintSolidLayerId
Dim nEntityId As Integer = EgtGetFirstInGroup(m_nLayerId)
Dim sEntitytName As String = ""
EgtGetName(nEntityId, sEntitytName)
m_EntityList.Add(New ModifyEntity(nEntityId, sEntitytName, Me))
Case LayerType.MACH_START
m_nLayerId = PrintPart.nMachStartLayerId
Dim nEntityId As Integer = EgtGetFirstInGroup(m_nLayerId)
Dim sEntitytName As String = ""
EgtGetName(nEntityId, sEntitytName)
While nEntityId <> GDB_ID.NULL
m_EntityList.Add(New ModifyEntity(nEntityId, sEntitytName, Me))
nEntityId = EgtGetNext(nEntityId)
EgtGetName(nEntityId, sEntitytName)
End While
Case LayerType.RIBS
m_nLayerId = PrintPart.nRibsLayerId
Dim nEntityId As Integer = EgtGetFirstInGroup(m_nLayerId)
Dim sEntitytName As String = ""
EgtGetName(nEntityId, sEntitytName)
While nEntityId <> GDB_ID.NULL
Dim RibType As Integer = RibEntity.RibTypes.FROMDRAW
EgtGetInfo(nEntityId, KEY_RIB_TYPE, RibType)
If RibType = RibEntity.RibTypes.FROMIMPORT Then
m_EntityList.Add(New ModifyEntity(nEntityId, sEntitytName, Me))
End If
nEntityId = EgtGetNext(nEntityId)
EgtGetName(nEntityId, sEntitytName)
End While
Case LayerType.SHELL_NUMBER
m_nLayerId = PrintPart.nShellNumberLayerId
Dim nEntityId As Integer = EgtGetFirstInGroup(m_nLayerId)
Dim sEntitytName As String = ""
EgtGetName(nEntityId, sEntitytName)
While nEntityId <> GDB_ID.NULL
Dim ShellType As Integer = ShellNumberEntity.ShellNumberTypes.FROMDRAW
EgtGetInfo(nEntityId, KEY_SHELLNBR_TYPE, ShellType)
If ShellType = ShellNumberEntity.ShellNumberTypes.FROMIMPORT Then
m_EntityList.Add(New ModifyEntity(nEntityId, sEntitytName, Me))
End If
nEntityId = EgtGetNext(nEntityId)
EgtGetName(nEntityId, sEntitytName)
End While
Case LayerType.AUX_SOLIDS
m_nLayerId = PrintPart.nAuxSolidsLayerId
Dim nEntityId As Integer = EgtGetFirstInGroup(m_nLayerId)
Dim sEntitytName As String = ""
EgtGetName(nEntityId, sEntitytName)
While nEntityId <> GDB_ID.NULL
'Dim ShellType As Integer = ShellNumberEntity.ShellNumberTypes.FROMDRAW
'EgtGetInfo(nEntityId, KEY_SHELLNBR_TYPE, ShellType)
'If ShellType = ShellNumberEntity.ShellNumberTypes.FROMIMPORT Then
m_EntityList.Add(New ModifyEntity(nEntityId, sEntitytName, Me))
'End If
nEntityId = EgtGetNext(nEntityId)
EgtGetName(nEntityId, sEntitytName)
End While
Case LayerType.OTHERS
m_nLayerId = PrintPart.nOthersLayerId
Dim nEntityId As Integer = EgtGetFirstInGroup(m_nLayerId)
Dim sEntitytName As String = ""
EgtGetName(nEntityId, sEntitytName)
While nEntityId <> GDB_ID.NULL
m_EntityList.Add(New ModifyEntity(nEntityId, sEntitytName, Me))
nEntityId = EgtGetNext(nEntityId)
EgtGetName(nEntityId, sEntitytName)
End While
End Select
End Sub
End Class
Public Class MenuItemVm
Inherits VMBase
' enita' di origine
Private m_OrigEntity As ModifyEntity
Private m_OrigLayer As ModifyLayer
' pezzo in cui spostare
Private m_Part As Print3dPartVM
' tipo del layer indicato
Private m_Type As ModifyLayer.LayerType
Public Property Type As ModifyLayer.LayerType
Get
Return m_Type
End Get
Set(value As ModifyLayer.LayerType)
m_Type = value
End Set
End Property
Public ReadOnly Property sMsg As String
Get
Dim sType As String = ""
Select Case m_Type
Case ModifyLayer.LayerType.PRINT_SOLID
sType = "Print"
Case ModifyLayer.LayerType.MACH_START
sType = "Layer Start"
Case ModifyLayer.LayerType.RIBS
sType = "Ribs"
Case ModifyLayer.LayerType.SHELL_NUMBER
sType = "Reduce shell number"
Case ModifyLayer.LayerType.AUX_SOLIDS
sType = "Filled Solids"
Case ModifyLayer.LayerType.OTHERS
sType = "Others"
End Select
Return "Move to " & sType
End Get
End Property
' Definizione comando
Private m_cmdCommand As ICommand
Sub New(OrigEntity As ModifyEntity, OrigLayer As ModifyLayer, Type As ModifyLayer.LayerType, Part As Print3dPartVM)
m_OrigEntity = OrigEntity
m_OrigLayer = OrigLayer
m_Type = Type
m_Part = Part
End Sub
#Region "Cancel"
Public ReadOnly Property MenuItem_Command As ICommand
Get
If m_cmdCommand Is Nothing Then
m_cmdCommand = New Command(AddressOf Command)
End If
Return m_cmdCommand
End Get
End Property
Public Sub Command()
' recupero layer da pezzo
Dim nLayerId As Integer = GDB_ID.NULL
Select Case m_Type
Case ModifyLayer.LayerType.PRINT_SOLID
nLayerId = m_Part.nPrintSolidLayerId
Case ModifyLayer.LayerType.MACH_START
nLayerId = m_Part.nMachStartLayerId
Case ModifyLayer.LayerType.RIBS
nLayerId = m_Part.nRibsLayerId
Case ModifyLayer.LayerType.SHELL_NUMBER
nLayerId = m_Part.nShellNumberLayerId
Case ModifyLayer.LayerType.AUX_SOLIDS
nLayerId = m_Part.nAuxSolidsLayerId
Case ModifyLayer.LayerType.OTHERS
nLayerId = m_Part.nOthersLayerId
End Select
' sposto entita'
If EgtRelocateGlob(m_OrigEntity.nId, nLayerId) Then
' elimino info vecchio layer
Select Case m_OrigLayer.Type
Case ModifyLayer.LayerType.PRINT_SOLID
EgtResetMark(m_OrigEntity.nId)
Case ModifyLayer.LayerType.MACH_START
Case ModifyLayer.LayerType.RIBS
EgtRemoveInfo(m_OrigEntity.nId, KEY_RIB_TYPE)
Case ModifyLayer.LayerType.SHELL_NUMBER
EgtRemoveInfo(m_OrigEntity.nId, KEY_SHELLNBR_TYPE)
Case ModifyLayer.LayerType.AUX_SOLIDS
EgtRemoveInfo(m_OrigEntity.nId, KEY_AUXSOLID_TYPE)
Case ModifyLayer.LayerType.OTHERS
End Select
' sposto in lista
m_OrigLayer.EntityList.Remove(m_OrigEntity)
Dim NewPart As ModifyPart = Map.refModifyPartPanelVM.ModifyPartList.FirstOrDefault(Function(x) x.PrintPart.nPartId = m_Part.nPartId)
If Not IsNothing(NewPart) Then
Dim NewLayer As ModifyLayer = NewPart.LayerList.FirstOrDefault(Function(x) x.Type = m_Type)
If Not IsNothing(NewLayer) Then
NewLayer.EntityList.Add(m_OrigEntity)
' aggiorno riferimenti nell'entita'
m_OrigEntity.UpdateOrigLayer(NewLayer)
End If
End If
' aggiungo info nuovo layer
Select Case m_Type
Case ModifyLayer.LayerType.PRINT_SOLID
EgtSetName(m_OrigEntity.nId, PRINT_SOLID)
EgtSetColor(m_OrigEntity.nId, c3Print)
Case ModifyLayer.LayerType.MACH_START
EgtSetName(m_OrigEntity.nId, LAY_MACH_START)
EgtSetColor(m_OrigEntity.nId, c3MachStart)
Case ModifyLayer.LayerType.RIBS
EgtSetName(m_OrigEntity.nId, LAY_RIBS)
EgtSetInfo(m_OrigEntity.nId, KEY_RIB_TYPE, RibEntity.RibTypes.FROMIMPORT)
EgtSetColor(m_OrigEntity.nId, c3Rib)
Case ModifyLayer.LayerType.SHELL_NUMBER
EgtSetName(m_OrigEntity.nId, LAY_SHELL_NBR)
EgtSetInfo(m_OrigEntity.nId, KEY_SHELLNBR_TYPE, ShellNumberEntity.ShellNumberTypes.FROMIMPORT)
EgtSetColor(m_OrigEntity.nId, c3ShellNumber)
Case ModifyLayer.LayerType.AUX_SOLIDS
EgtSetName(m_OrigEntity.nId, LAY_AUX_SOLIDS)
EgtSetInfo(m_OrigEntity.nId, KEY_AUXSOLID_TYPE, RibEntity.RibTypes.FROMIMPORT)
EgtSetColor(m_OrigEntity.nId, c3AuxSolids)
Case ModifyLayer.LayerType.OTHERS
EgtSetName(m_OrigEntity.nId, LAY_OTHERS)
EgtSetColor(m_OrigEntity.nId, c3Others)
End Select
EgtDraw()
' aggiorno riferimenti nel context menu item
m_OrigEntity.UpdateContextMenu(m_OrigEntity.OrigLayer)
End If
End Sub
#End Region ' Cancel
End Class
+2 -2
View File
@@ -60,5 +60,5 @@ Imports System.Windows
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.4.10.1")>
<Assembly: AssemblyFileVersion("2.4.10.1")>
<Assembly: AssemblyVersion("2.4.10.3")>
<Assembly: AssemblyFileVersion("2.4.10.3")>
+36
View File
@@ -0,0 +1,36 @@
<EgtWPFLib5:EgtCustomWindow x:Class="MachineBox"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Height="160" Width="380" WindowStyle="None" ResizeMode="NoResize"
TitleBarHeight="30" IsResizable="False" IsMinimizable="False"
ShowInTaskbar="False" WindowStartupLocation="CenterOwner">
<Border BorderThickness="2" BorderBrush="LightBlue">
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.25*"/>
<ColumnDefinition Width="5*"/>
<ColumnDefinition Width="0.25*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.25*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="0.25*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="0.25*"/>
</Grid.RowDefinitions>
<TextBlock Name="MessageLbl" Grid.Column="1" Grid.Row="1" HorizontalAlignment="Center"
VerticalAlignment="Center" />
<UniformGrid Grid.Column="1" Grid.Row="3" Columns="3">
<Button Name="ReplaceBtn" Height="26" Margin="0,0,5,0"/>
<Button Name="UpdateBtn" Height="26" Margin="5,0,5,0"/>
<Button Name="CancelBtn" IsDefault="True" Height="26" Margin="5,0,0,0"/>
</UniformGrid>
</Grid>
</Border>
</EgtWPFLib5:EgtCustomWindow>
+45
View File
@@ -0,0 +1,45 @@
Imports EgtUILib
Public Class MachineBox
Public Shadows DialogResult As MessageBoxResult = MessageBoxResult.Cancel
Public Sub New( Owner As Window, sMachName As String)
InitializeComponent()
Me.Owner = Owner
Title = EgtMsg( 6534) ' Avviso
MessageLbl.Text = String.Format( EgtMsg( 6528), sMachName) ' La macchina "{0}" esiste già,<br/> cosa vuoi fare ?
ReplaceBtn.Content = EgtMsg( 6531) ' Sostituisci
UpdateBtn.Content = EgtMsg( 6532) ' Aggiorna
CancelBtn.Content = EgtMsg( 6533) ' Annulla
End Sub
Private Sub ReplaceBtn_Click( sender As Object, e As RoutedEventArgs) Handles ReplaceBtn.Click
DialogResult = MessageBoxResult.Yes
Close()
End Sub
Private Sub UpdateBtn_Click( sender As Object, e As RoutedEventArgs) Handles UpdateBtn.Click
DialogResult = MessageBoxResult.No
Close()
End Sub
Private Sub CancelBtn_Click( sender As Object, e As RoutedEventArgs) Handles CancelBtn.Click
DialogResult = MessageBoxResult.Cancel
Close()
End Sub
Public Overloads Function ShowDialog() As MessageBoxResult
MyBase.ShowDialog()
Return DialogResult
End Function
End Class
+113
View File
@@ -0,0 +1,113 @@
Imports System.Collections.ObjectModel
Imports EgtUILib
Imports EgtWPFLib5
Friend Module OptionModule
' Parametri che contengono lista delle lingue disponibili e lingua selezionata
Friend m_LanguageList As New ObservableCollection(Of Language)
Friend m_SelectedLanguage As Language
' Colori di sfondo della vista e della griglia
Friend m_TopSceneBackground As Color3d
Friend m_BotSceneBackground As Color3d
Friend m_GridColor As Color3d
' Flag per visualizzazione spessa delle linee
Friend m_bThickLine As Boolean
' Flag per visualizzazione smussata delle superfici
Friend m_bSmoothTriMesh As Boolean
' Colore di default in disegno
Friend m_DefMaterialColor As Color3d
' Tolleranza geometrica
Friend m_dGeometryTolerance As Double
' Parametri per import
Friend m_dDxfScaleFactor As Double
Friend m_dStlScaleFactor As Double
Friend m_dImgScaleFactor As Double
' Parametri per export
Friend m_nExportDxfFlag As Integer
Friend m_nImgWidth As Integer
Friend m_nImgHeight As Integer
' Font di testo
Friend m_sFontText As String
' Parametri per le quotature
Friend m_dExtLineLen As Double
Friend m_dArrowLen As Double
Friend m_dTextDist As Double
Friend m_nLenIsMM As Integer
Friend m_nDecDigit As Integer
Friend m_sFont As String
Friend m_dTextHeight As Double
' Variabili che indicano per ogni tipo di lavorazione quale geometria è selezionabile
'Friend m_SelGeomSawing As SceneSelModeOpt
'Friend m_SelGeomDrilling As SceneSelModeOpt
'Friend m_SelGeomMilling As SceneSelModeOpt
'Friend m_SelGeomPocketing As SceneSelModeOpt
'Friend m_SelGeomMortising As SceneSelModeOpt
'Friend m_SelGeomSawRoughing As SceneSelModeOpt
'Friend m_SelGeomSawFinishing As SceneSelModeOpt
'Friend m_SelGeomGenMachining As SceneSelModeOpt
'Friend m_SelGeomChiseling As SceneSelModeOpt
'Friend m_SelGeomSurfFinishing As SceneSelModeOpt
'Friend m_SelGeomWaterJetting As SceneSelModeOpt
' Flag per aggiungere una nuova lavorazione alla fine della fase o subito dopo la lavorazione selezionata
Friend m_bNewMachiningIsLastOne As Boolean
' Variabile che indica se usare lo script per calcolare automaticamente la disposizione quando si passa in lavorazione
Friend m_bUseDispositionScript As Boolean
' inizializzazione lettura variabili ad inizio programma
Friend Sub InitOptionModule()
' Leggo elenco lingue disponibili da file ini
Dim nIndex As Integer = 1
'Dim ReadLanguage As Language = GetPrivateProfileLanguage(S_LANGUAGES, K_LANGUAGE & nIndex)
'While Not IsNothing(ReadLanguage)
' OptionModule.m_LanguageList.Add(ReadLanguage)
' nIndex += 1
' ReadLanguage = GetPrivateProfileLanguage(S_LANGUAGES, K_LANGUAGE & nIndex)
'End While
'If nIndex = 1 Then
' EgtOutLog("Error missing languages section in Config.ini")
' MessageBox.Show( "Error : missing languages informations", "EgtCAM5", MessageBoxButton.OK, MessageBoxImage.Error)
' End
'End If
'' Inizializzo la lingua corrente
'OptionModule.m_SelectedLanguage = OptionModule.m_LanguageList(0)
'Dim sMsgName As String = String.Empty
'GetPrivateProfileString(S_GENERAL, K_MESSAGES, "", sMsgName)
'For Each Language In OptionModule.m_LanguageList
' If Language.Name = sMsgName Then
' OptionModule.m_SelectedLanguage = Language
' Exit For
' End If
'Next
' Inizializzo variabili colori di sfondo scena, griglia
Dim BackTopColor As New Color3d(192, 192, 192)
GetMainPrivateProfileColor(S_SCENE, K_BACKTOP, BackTopColor)
m_TopSceneBackground = BackTopColor
Dim BackBotColor As New Color3d(BackTopColor)
GetMainPrivateProfileColor(S_SCENE, K_BACKBOTTOM, BackBotColor)
m_BotSceneBackground = BackBotColor
Dim GridColor As New Color3d(0, 0, 0)
GetMainPrivateProfileColor(S_GRID, K_MINLNCOLOR, GridColor)
m_GridColor = GridColor
' Inizializzo flag linee ingrossate
m_bThickLine = GetMainPrivateProfileInt(S_SCENE, K_LINEWIDTH, 1) <> 1
' Inizializzo flag visualizzazione smussata delle superfici
m_bSmoothTriMesh = GetMainPrivateProfileInt(S_SCENE, K_SHOWTRIAADV, 1) <> 0
' Inizio colore di default in disegno
Dim DefColor As New Color3d(0, 0, 0)
GetMainPrivateProfileColor(S_GEOMDB, K_DEFAULTCOLOR, DefColor)
m_DefMaterialColor = DefColor
' Inizializzo tolleranza geometrica
m_dGeometryTolerance = GetMainPrivateProfileDouble(S_GEOMDB, K_SURFTMTOLER, 0.05)
' Inizializzo variabili per import
m_dDxfScaleFactor = GetMainPrivateProfileDouble(S_IMPORT, K_DXFSCALE, 1)
m_dStlScaleFactor = GetMainPrivateProfileDouble(S_IMPORT, K_STLSCALE, 1)
End Sub
End Module
+303
View File
@@ -0,0 +1,303 @@
<EgtWPFLib5:EgtCustomWindow x:Class="OptionWindowV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Icarus="clr-namespace:Icarus"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
Title="{Binding Title}" Icon="/Resources/Icarus.ico"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
MinWidth="400" MinHeight="382"
Width="400" Height="412">
<!--<EgtWPFLib5:EgtCustomWindow.Resources>
<local:GeomTypeConverter x:Key="GeomTypeConverter"/>
</EgtWPFLib5:EgtCustomWindow.Resources>-->
<TabControl Margin="5,5,5,5">
<TabItem Header="{Binding GenericMsg}">
<StackPanel Margin="5,5,5,0">
<!--<GroupBox Header="{Binding CurrentLanguageMsg}"
Margin="0,0,0,5">
<UniformGrid Rows="2" Margin="3,3,3,3">
<ComboBox ItemsSource="{Binding LanguageList, Mode=OneWay}" Height="25"
DisplayMemberPath="Name" SelectedItem="{Binding SelectedLanguage}"
Margin="0,0,0,5"/>
<TextBlock Text="{Binding LanguageAdvertMsg}" TextWrapping="Wrap"
TextAlignment="Center"/>
</UniformGrid>
</GroupBox>-->
<UniformGrid Columns="2"
Margin="0,0,0,5">
<TextBlock Text="{Binding TopSceneBackgroundMsg}" VerticalAlignment="Center"/>
<Button Background="{Binding TopSceneBackground}"
Command="{Binding TopSceneBackground_Command}"
Style="{StaticResource EgtWPFLib5_InputButton}"/>
</UniformGrid>
<UniformGrid Columns="2"
Margin="0,0,0,5">
<TextBlock Text="{Binding BotSceneBackgroundMsg}" VerticalAlignment="Center"/>
<Button Background="{Binding BotSceneBackground}"
Command="{Binding BotSceneBackground_Command}"
Style="{StaticResource EgtWPFLib5_InputButton}"/>
</UniformGrid>
<UniformGrid Columns="2"
Margin="0,0,0,5">
<TextBlock Text="{Binding GridColorMsg}" VerticalAlignment="Center"/>
<Button Background="{Binding GridColor}"
Command="{Binding GridColor_Command}"
Style="{StaticResource EgtWPFLib5_InputButton}"/>
</UniformGrid>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding ThickLineMsg}" VerticalAlignment="Center"
Grid.Row="0" Margin="0,5,0,5"/>
<CheckBox IsChecked="{Binding ThickLine}"
Grid.Column="1" Grid.Row="0" Margin="22,5,0,5" VerticalAlignment="Center"/>
<TextBlock Text="{Binding SmoothTriMeshMsg}" VerticalAlignment="Center"
Grid.Row="1" Margin="0,5,0,5"/>
<CheckBox IsChecked="{Binding SmoothTriMesh}"
Grid.Column="1" Grid.Row="1" Margin="22,5,0,5" VerticalAlignment="Center"/>
</Grid>
<!--<UniformGrid Columns="2"
Margin="0,0,0,5">
<TextBlock Text="{Binding FontMsg}" VerticalAlignment="Center"/>
<ComboBox ItemsSource="{Binding FontList, Mode=OneWay}"
SelectedItem="{Binding SelectedTextFont}" Height="25"
Margin="10,5,0,0"/>
</UniformGrid>-->
<Grid Margin="5,5,5,5">
<Button Content="{Binding UpdateLicenceMsg}" Command="{Binding UpdateLicence_Command}" Height="26" Margin="100,1"/>
</Grid>
</StackPanel>
</TabItem>
<TabItem Header="{Binding CADMsg}">
<StackPanel Margin="5,5,5,0">
<!--<UniformGrid Columns="2"
Margin="0,0,0,5">
<TextBlock Text="{Binding DefMaterialColorMsg}" VerticalAlignment="Center"/>
<Button Background="{Binding DefMaterialColor}"
Command="{Binding DefMaterialColor_Command}"
Style="{StaticResource EgtWPFLib5_InputButton}"/>
</UniformGrid>-->
<UniformGrid Grid.ColumnSpan="2" Columns="2"
Margin="0,0,0,5">
<TextBlock Text="{Binding GeometryToleranceMsg}" VerticalAlignment="Center"/>
<TextBox Text="{Binding GeometryTolerance}" Height="25"
VerticalContentAlignment="Center"
Margin="10,0,0,0"/>
</UniformGrid>
<!--<GroupBox Grid.Column="1" Grid.RowSpan="2"
Header="{Binding DimensionMsg}"
Margin="0,0,0,5">
<UniformGrid Grid.ColumnSpan="2" Columns="2">
<TextBlock Text="{Binding ExtLineLenMsg}" VerticalAlignment="Center"/>
<TextBox Text="{Binding ExtLineLen}" Height="25"
VerticalContentAlignment="Center"
Margin="10,5,0,0"/>
<TextBlock Text="{Binding ArrowLenMsg}" VerticalAlignment="Center"/>
<TextBox Text="{Binding ArrowLen}" Height="25"
VerticalContentAlignment="Center"
Margin="10,5,0,0"/>
<TextBlock Text="{Binding TextDistMsg}" VerticalAlignment="Center"/>
<TextBox Text="{Binding TextDist}" Height="25"
VerticalContentAlignment="Center"
Margin="10,5,0,0"/>
<TextBlock Text="{Binding LenIsMMMsg}" VerticalAlignment="Center"/>
<ComboBox ItemsSource="{Binding UnitMeasureList, Mode=OneWay}"
SelectedItem="{Binding SelectedUnitMeasure}" Height="25"
Margin="10,5,0,0"/>
<TextBlock Text="{Binding DecDigitMsg}" VerticalAlignment="Center"/>
<TextBox Text="{Binding DecDigit}" Height="25"
VerticalContentAlignment="Center"
Margin="10,5,0,0"/>
<TextBlock Text="{Binding FontMsg}" VerticalAlignment="Center"/>
<ComboBox ItemsSource="{Binding FontList, Mode=OneWay}"
SelectedItem="{Binding SelectedFont}" Height="25"
Margin="10,5,0,0"/>
<TextBlock Text="{Binding TextHeightMsg}" VerticalAlignment="Center"/>
<TextBox Text="{Binding TextHeight}" Height="25"
VerticalContentAlignment="Center"
Margin="10,5,0,0"/>
</UniformGrid>
</GroupBox>-->
</StackPanel>
</TabItem>
<TabItem Header="{Binding ImportMsg}">
<StackPanel Margin="5,5,5,0">
<Grid Margin="0,5,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.8*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="1"
VerticalAlignment="Center" HorizontalAlignment="Center"
Text="{Binding UnitScaleMsg}" />
<TextBlock Grid.Row="0" Grid.Column="2"
VerticalAlignment="Center" HorizontalAlignment="Center"
Text="{Binding FactorScaleMsg}"/>
<TextBlock Grid.Row="1" Grid.Column="0"
Text="{Binding DxfScaleFactorMsg}" VerticalAlignment="Center"/>
<ComboBox Grid.Row="1" Grid.Column="1"
ItemsSource="{Binding ScaleDXFList, Mode=OneWay}"
SelectedItem="{Binding SelectedDXFScale, UpdateSourceTrigger=PropertyChanged}" Height="25"
Margin="10,0,0,5"/>
<TextBox Grid.Row="1" Grid.Column="2"
Text="{Binding DxfScaleFactor}" Height="25"
IsEnabled="{Binding DXFScaleEnable, UpdateSourceTrigger=LostFocus}"
VerticalContentAlignment="Center"
Margin="10,0,0,5"/>
<TextBlock Grid.Row="2" Grid.Column="0"
Text="{Binding StlScaleFactorMsg}" VerticalAlignment="Center"/>
<ComboBox Grid.Row="2" Grid.Column="1"
ItemsSource="{Binding ScaleSTLList, Mode=OneWay}"
SelectedItem="{Binding SelectedSTLScale, UpdateSourceTrigger=PropertyChanged}" Height="25"
Margin="10,0,0,5"/>
<TextBox Grid.Row="2" Grid.Column="2"
Text="{Binding StlScaleFactor}" Height="25"
IsEnabled="{Binding STLScaleEnable, UpdateSourceTrigger=LostFocus}"
VerticalContentAlignment="Center"
Margin="10,0,0,5"/>
<!--<TextBlock Grid.Row="3" Grid.Column="0"
Text="{Binding ImageScaleFactorMsg}" VerticalAlignment="Center"/>
<ComboBox Grid.Row="3" Grid.Column="1"
ItemsSource="{Binding ScaleImageList, Mode=OneWay}"
SelectedItem="{Binding SelectedImageScale, UpdateSourceTrigger=PropertyChanged}" Height="25"
Margin="10,0,0,5"/>
<TextBox Grid.Row="3" Grid.Column="2"
Text="{Binding ImageScaleFactor}" Height="25"
IsEnabled="{Binding ImageScaleEnable, UpdateSourceTrigger=LostFocus}"
VerticalContentAlignment="Center"
Margin="10,0,0,5"/>-->
</Grid>
</StackPanel>
</TabItem>
<!--<TabItem Header="{Binding ExportMsg}">
<StackPanel>
<GroupBox Grid.Column="1" Grid.RowSpan="2"
Header="{Binding ImageMsg}"
Margin="5,5,5,0">
<UniformGrid Grid.ColumnSpan="2" Columns="2">
<TextBlock Text="{Binding ImageWidthMsg}" VerticalAlignment="Center"/>
<TextBox Text="{Binding ImageWidth}" Height="25"
VerticalContentAlignment="Center"
Margin="10,0,0,5"/>
<TextBlock Text="{Binding ImageHeightMsg}" VerticalAlignment="Center"/>
<TextBox Text="{Binding ImageHeight}" Height="25"
VerticalContentAlignment="Center"
Margin="10,0,0,5"/>
</UniformGrid>
</GroupBox>
</StackPanel>
</TabItem>-->
<TabItem Header="{Binding CAMMsg}">
<StackPanel>
<!--<GroupBox Grid.Column="1" Grid.RowSpan="2"
Header="{Binding MachiningSelGeomMsg}"
Margin="5,5,5,0">
<UniformGrid Columns="2">
<TextBlock Text="{Binding GeomTypeDrillingMsg}" VerticalAlignment="Center"/>
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
SelectedItem="{Binding SelectedDrillingGeomType}" Height="25">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<TextBlock Text="{Binding GeomTypeSawingMsg}" VerticalAlignment="Center"/>
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
SelectedItem="{Binding SelectedSawingGeomType}" Height="25">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<TextBlock Text="{Binding GeomTypeMillingMsg}" VerticalAlignment="Center"/>
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
SelectedItem="{Binding SelectedMillingGeomType}" Height="25"
Margin="0,0,0,5">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<TextBlock Text="{Binding GeomTypePocketingMsg}" VerticalAlignment="Center"/>
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
SelectedItem="{Binding SelectedPocketingGeomType}" Height="25">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<TextBlock Text="{Binding GeomTypeMortisingMsg}" VerticalAlignment="Center"/>
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
SelectedItem="{Binding SelectedMortisingGeomType}" Height="25">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<TextBlock Text="{Binding GeomTypeChiselingMsg}" VerticalAlignment="Center"/>
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
SelectedItem="{Binding SelectedChiselingGeomType}" Height="25">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</UniformGrid>
</GroupBox>-->
<!--<Grid Margin="5,5,5,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding NewMachiningPosMsg}" VerticalAlignment="Center"
Grid.Row="0" Margin="0,0,0,5"/>
<CheckBox IsChecked="{Binding NewMachiningIsLastOne}"
Grid.Column="1" Grid.Row="0" Margin="4,0,0,0" VerticalAlignment="Center"/>
<TextBlock Text="{Binding UseDispositionScriptMsg}" VerticalAlignment="Center"
Grid.Row="1" Margin="0,0,0,5"/>
<CheckBox IsChecked="{Binding UseDispositionScript}"
Grid.Column="1" Grid.Row="1" Margin="4,0,0,0" VerticalAlignment="Center"/>
</Grid>-->
<Grid Margin="5,5,5,0">
<Button Content="{Binding AddMachineMsg}" Command="{Binding AddMachine_Command}" Height="26" Margin="100,1"/>
</Grid>
<Grid Margin="5,5,5,0">
<Button Content="{Binding ExportMachineMsg}" Command="{Binding ExportMachine_Command}" Height="26" Margin="100,1"/>
</Grid>
</StackPanel>
</TabItem>
</TabControl>
</EgtWPFLib5:EgtCustomWindow>
@@ -0,0 +1,3 @@
Public Class OptionWindowV
End Class
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -334,10 +334,10 @@ Public Class ProjManagerVM
''' Execute the Export. This method is invoked by the ExportCommand.
''' </summary>
Public Sub Options(ByVal param As Object)
'Dim OptionsWindow As New OptionWindowV
'OptionsWindow.DataContext = New OptionWindowVM
'OptionsWindow.Owner = Application.Current.MainWindow
'OptionsWindow.ShowDialog()
Dim OptionsWindow As New OptionWindowV
OptionsWindow.DataContext = New OptionWindowVM
OptionsWindow.Owner = Application.Current.MainWindow
OptionsWindow.ShowDialog()
End Sub
#End Region ' Options
+314 -19
View File
@@ -1,22 +1,71 @@
<StackPanel x:Class="RibPanelV"
<Grid x:Class="RibPanelV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
xmlns:PrintApp="clr-namespace:Icarus"
Margin="5">
<StackPanel.Resources>
<Grid.Resources>
<PrintApp:CenterToolTipConverter x:Key="CenterToolTipConverter"/>
</StackPanel.Resources>
<ComboBox ItemsSource="{Binding RibList}"
<PrintApp:FromBooleanToVisibility x:Key="FromBooleanToVisibility"/>
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<ComboBox Grid.Row="3"
ItemsSource="{Binding RibList}"
SelectedItem="{Binding SelRib}"
IsEnabled="{Binding RibList_IsEnabled}"
DisplayMemberPath="ghName"/>
DisplayMemberPath="ghName"
Style="{StaticResource FeatureComboBox}"/>
<!--Add Button-->
<ToggleButton x:Name="AddBtn"
Grid.Row="4"
Content="Add"
IsChecked="{Binding bAdd_IsChecked}"
Style="{StaticResource ToolBar_TextToggleButton}"/>
<Popup IsOpen="{Binding IsChecked, ElementName=AddBtn}"
<Border Grid.Column="1"
Grid.Row="3"
Grid.RowSpan="3"
VerticalAlignment="Center"
Margin="5,0,0,0"
Visibility="{Binding IsChecked, ElementName=AddBtn, Converter={StaticResource FromBooleanToVisibility}}"
Style="{StaticResource LeftPanelPopup_Border}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Button Grid.Column="0"
Command="{Binding Import_Command}"
ToolTip="{Binding Import_ToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/ProjectManager/Import.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="1"
Command="{Binding Line2P_Command}"
ToolTip="{Binding Line2P_ToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/DrawPanel/Line2P.png" Stretch="Uniform"/>
</Button>
</Grid>
</Border>
<!--<Popup IsOpen="{Binding IsChecked, ElementName=AddBtn}"
PlacementTarget="{Binding ElementName=AddBtn}"
Style="{StaticResource LeftPanel_Popup}">
<Border Style="{StaticResource LeftPanelPopup_Border}">
@@ -39,13 +88,68 @@
</Button>
</Grid>
</Border>
</Popup>
</Popup>-->
<!--Edit Button-->
<ToggleButton x:Name="EditBtn"
Grid.Row="5"
Content="Edit"
IsChecked="{Binding bEdit_IsChecked}"
Style="{StaticResource ToolBar_TextToggleButton}"/>
<Popup IsOpen="{Binding IsChecked, ElementName=EditBtn}"
<Border Grid.Column="1"
Grid.Row="4"
Grid.RowSpan="3"
VerticalAlignment="Center"
Margin="5,0,0,0"
Visibility="{Binding IsChecked, ElementName=EditBtn, Converter={StaticResource FromBooleanToVisibility}}"
Style="{StaticResource LeftPanelPopup_Border}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Button Grid.Column="0"
Command="{Binding Delete_Command}"
ToolTip="{Binding Delete_ToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/DrawPanel/Delete.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="1"
Command="{Binding ModifyCurve_Command}"
ToolTip="{Binding ModifyCurve_ToolTip}"
Visibility="{Binding Compo_Visibility}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/DrawPanel/ModifyCurve.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="2"
Command="{Binding AddPointCurve_Command}"
ToolTip="{Binding AddPointCurve_ToolTip}"
Visibility="{Binding Compo_Visibility}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/DrawPanel/AddPointCurve.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="3"
Command="{Binding RemovePointCurve_Command}"
ToolTip="{Binding RemovePointCurve_ToolTip}"
Visibility="{Binding Compo_Visibility}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/DrawPanel/RemovePointCurve.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="4"
Command="{Binding Extrude_Command}"
ToolTip="{Binding Extrude_ToolTip}"
Visibility="{Binding Compo_Visibility}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/DrawPanel/Extrude.png" Stretch="Uniform"/>
</Button>
</Grid>
</Border>
<!--<Popup IsOpen="{Binding IsChecked, ElementName=EditBtn}"
PlacementTarget="{Binding ElementName=EditBtn}"
Style="{StaticResource LeftPanel_Popup}">
<Border Style="{StaticResource LeftPanelPopup_Border}">
@@ -96,13 +200,102 @@
</Button>
</Grid>
</Border>
</Popup>
</Popup>-->
<!--Grid Button-->
<ToggleButton x:Name="GridBtn"
Grid.Row="6"
Content="Grid"
IsChecked="{Binding bGrid_IsChecked}"
Style="{StaticResource ToolBar_TextToggleButton}"/>
<Popup IsOpen="{Binding IsChecked, ElementName=GridBtn}"
<Border Grid.Column="1"
Grid.Row="5"
Grid.RowSpan="3"
VerticalAlignment="Center"
Margin="5,0,0,0"
Visibility="{Binding IsChecked, ElementName=GridBtn, Converter={StaticResource FromBooleanToVisibility}}"
Style="{StaticResource LeftPanelPopup_Border}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Button Command="{Binding CPlaneTop_Command}"
ToolTip="{Binding CPlaneTopToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneTOP.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="1"
Command="{Binding CPlaneFront_Command}"
ToolTip="{Binding CPlaneFrontToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneFRONT.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="2"
Command="{Binding CPlaneRight_Command}"
ToolTip="{Binding CPlaneRightToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneRIGHT.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="3"
Command="{Binding CPlaneBack_Command}"
ToolTip="{Binding CPlaneBackToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneBACK.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="4"
Command="{Binding CPlaneLeft_Command}"
ToolTip="{Binding CPlaneLeftToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneLEFT.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="5"
Command="{Binding CPlaneBottom_Command}"
ToolTip="{Binding CPlaneBottomToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneBOTTOM.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="6"
Command="{Binding CPlaneElevation_Command}"
ToolTip="{Binding CPlaneElevationToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneELEVATION.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="7"
Command="{Binding CPlaneRotate_Command}"
ToolTip="{Binding CPlaneRotateToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneROTATE.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="8"
Command="{Binding CPlane3P_Command}"
ToolTip="{Binding CPlane3PToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CPlane3POINTS.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="9"
Command="{Binding CPlanePerpObj_Command}"
ToolTip="{Binding CPlanePerpObjToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CPlanePERPCURVE.png" Stretch="Uniform"/>
</Button>
<!--<Button Grid.Column="10"
Command="{Binding CPlaneObj_Command}"
ToolTip="{Binding CPlaneObjToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneOBJECT.png" Stretch="Uniform"/>
</Button>-->
</Grid>
</Border>
<!--<Popup IsOpen="{Binding IsChecked, ElementName=GridBtn}"
PlacementTarget="{Binding ElementName=GridBtn}"
Style="{StaticResource LeftPanel_Popup}">
<Border Style="{StaticResource LeftPanelPopup_Border}">
@@ -179,21 +372,82 @@
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CPlanePERPCURVE.png" Stretch="Uniform"/>
</Button>
<!--<Button Grid.Column="10"
--><!--<Button Grid.Column="10"
Command="{Binding CPlaneObj_Command}"
ToolTip="{Binding CPlaneObjToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneOBJECT.png" Stretch="Uniform"/>
</Button>-->
</Button>--><!--
</Grid>
</Border>
</Popup>
</Popup>-->
<!--Move Button-->
<ToggleButton x:Name="MoveBtn"
<ToggleButton x:Name="MoveBtn"
Grid.Row="7"
Content="Move"
IsChecked="{Binding bMove_IsChecked}"
Style="{StaticResource ToolBar_TextToggleButton}"/>
<Popup IsOpen="{Binding IsChecked, ElementName=MoveBtn}"
<Border Grid.Column="1"
Grid.Row="5"
Grid.RowSpan="5"
VerticalAlignment="Center"
Margin="5,0,0,0"
Visibility="{Binding IsChecked, ElementName=MoveBtn, Converter={StaticResource FromBooleanToVisibility}}"
Style="{StaticResource LeftPanelPopup_Border}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid Margin="0,0,0,2.5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="X"
VerticalAlignment="Center"/>
<EgtWPFLib5:EgtTextBox Text="{Binding sXPos, UpdateSourceTrigger=Explicit}"
Grid.Column="1"
Margin="5,0,0,0"
Style="{StaticResource LeftPanel_TextBox}"/>
</Grid>
<Grid Grid.Row="1"
Margin="0,2.5,0,2.5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="Y"
VerticalAlignment="Center"/>
<EgtWPFLib5:EgtTextBox Text="{Binding sYPos, UpdateSourceTrigger=Explicit}"
Grid.Column="1"
Margin="5,0,0,0"
Style="{StaticResource LeftPanel_TextBox}"/>
</Grid>
<Grid Grid.Row="2"
Margin="0,2.5,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="Z"
VerticalAlignment="Center"/>
<EgtWPFLib5:EgtTextBox Text="{Binding sZPos, UpdateSourceTrigger=Explicit}"
Grid.Column="1"
Margin="5,0,0,0"
Style="{StaticResource LeftPanel_TextBox}"/>
</Grid>
<Grid Grid.Row="3"
Margin="0,2.5,0,0">
<Button Content="Drag"
Command="{Binding DragMove_Command}"
Style="{StaticResource LeftPanel_TextButton}"/>
</Grid>
</Grid>
</Border>
<!--<Popup IsOpen="{Binding IsChecked, ElementName=MoveBtn}"
PlacementTarget="{Binding ElementName=MoveBtn}"
Style="{StaticResource LeftPanel_Popup}">
<Border Style="{StaticResource LeftPanelPopup_Border}">
@@ -250,12 +504,52 @@
</Grid>
</Grid>
</Border>
</Popup>
</Popup>-->
<ToggleButton x:Name="RotateBtn"
Grid.Row="8"
Content="Rotate"
IsChecked="{Binding bRotate_IsChecked}"
Style="{StaticResource ToolBar_TextToggleButton}"/>
<Popup IsOpen="{Binding IsChecked, ElementName=RotateBtn}"
<Border Grid.Column="1"
Grid.Row="6"
Grid.RowSpan="5"
VerticalAlignment="Center"
Margin="5,0,0,0"
Visibility="{Binding IsChecked, ElementName=RotateBtn, Converter={StaticResource FromBooleanToVisibility}}"
Style="{StaticResource LeftPanelPopup_Border}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<UniformGrid Columns="3">
<RadioButton Content="X"
GroupName="Axes"
IsChecked="{Binding RotAxes[0]}"
Style="{StaticResource ToolBar_ToggleButton}"/>
<RadioButton Content="Y"
GroupName="Axes"
IsChecked="{Binding RotAxes[1]}"
Style="{StaticResource ToolBar_ToggleButton}"/>
<RadioButton Content="Z"
GroupName="Axes"
IsChecked="{Binding RotAxes[2]}"
Style="{StaticResource ToolBar_ToggleButton}"/>
</UniformGrid>
<EgtWPFLib5:EgtTextBox Grid.Row="1"
Text="{Binding sRotAngle, UpdateSourceTrigger=Explicit}"
Margin="0,5,0,0"/>
<Grid Grid.Row="2"
Margin="0,2.5,0,0">
<Button Content="Drag"
Command="{Binding DragRotate_Command}"
Style="{StaticResource LeftPanel_TextButton}"/>
</Grid>
</Grid>
</Border>
<!--<Popup IsOpen="{Binding IsChecked, ElementName=RotateBtn}"
Grid.Column="1"
PlacementTarget="{Binding ElementName=RotateBtn}"
Style="{StaticResource LeftPanel_Popup}">
@@ -292,9 +586,10 @@
</Grid>
</Grid>
</Border>
</Popup>
</Popup>-->
<ToggleButton Content="Parameters"
Grid.Row="9"
IsChecked="{Binding bMachParam_IsChecked}"
Style="{StaticResource ToolBar_TextToggleButton}"/>
</StackPanel>
</Grid>
+29 -1
View File
@@ -307,6 +307,7 @@ Public Class MySceneHostVM
If Not String.IsNullOrWhiteSpace(sDir) Then
sDir = Path.GetDirectoryName(sDir)
End If
If Not Directory.Exists(sDir) Then sDir = ""
Dim OpenFileDialog As New OpenFileDialog With {.Title = "Insert",
.Filter = "Stereolithography (*.stl)|*.stl" &
"|Iges files (*.igs;*.iges)|*.igs;*.iges" &
@@ -343,6 +344,7 @@ Public Class MySceneHostVM
If Not String.IsNullOrWhiteSpace(sDir) Then
sDir = Path.GetDirectoryName(sDir)
End If
If Not Directory.Exists(sDir) Then sDir = ""
Dim OpenFileDialog As New OpenFileDialog With {.Title = "Insert",
.Filter = "Stereolithography (*.stl)|*.stl" &
"|Iges files (*.igs;*.iges)|*.igs;*.iges" &
@@ -415,6 +417,7 @@ Public Class MySceneHostVM
If Not String.IsNullOrWhiteSpace(sDir) Then
sDir = Path.GetDirectoryName(sDir)
End If
If Not Directory.Exists(sDir) Then sDir = ""
Dim OpenFileDialog As New OpenFileDialog With {.Title = "Insert",
.Filter = "Stereolithography (*.stl)|*.stl" &
"|Iges files (*.igs;*.iges)|*.igs;*.iges" &
@@ -842,6 +845,8 @@ Public Class MySceneHostVM
Map.refTopPanelVM.PartList.Clear()
Map.refTopPanelVM.SetSelModifyMode(ModifyModes.NULL)
Map.refSliceManagerVM.UpdateTimeAndMass()
Map.refSliderManagerVM.RefreshSlider(0, 0)
Map.refSliderManagerVM.SetLayerIndexToMax()
EgtZoom(ZM.ALL)
MainScene.SetStatusNull()
End Sub
@@ -860,6 +865,26 @@ Public Class MySceneHostVM
End If
MessageBox.Show(Application.Current.MainWindow, sMsg, EgtMsg(10001), MessageBoxButton.OK, MessageBoxImage.Error) 'Error
End If
' leggo materiale
Dim nTabPartId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, TABLE)
If nTabPartId <> GDB_ID.NULL Then
Dim sMaterialGuid As String = ""
EgtGetInfo(nTabPartId, KEY_MATERIAL_GUID, sMaterialGuid)
Dim MaterialGuid As Guid
Dim ProjectMaterial As MaterialIndex = Nothing
If Guid.TryParse(sMaterialGuid, MaterialGuid) Then
' cerco materiale in lista
ProjectMaterial = Map.refTopPanelVM.MaterialList.FirstOrDefault(Function(x) x.sGUID = sMaterialGuid)
End If
If IsNothing(ProjectMaterial) Then
Dim sMaterialName As String = EgtSetInfo(nTabPartId, KEY_MATERIAL_GUID, Map.refTopPanelVM.SelMaterial.sName)
ProjectMaterial = Map.refTopPanelVM.MaterialList.FirstOrDefault(Function(x) x.sName = sMaterialName)
End If
If Not IsNothing(ProjectMaterial) Then
Map.refTopPanelVM.SelMaterial = ProjectMaterial
Map.refTopPanelVM.NotifyPropertyChanged(NameOf(Map.refTopPanelVM.SelMaterial))
End If
End If
' leggo pezzi
Map.refTopPanelVM.PartList.Clear()
Dim bProjectToRecalc As Boolean = False
@@ -877,11 +902,12 @@ Public Class MySceneHostVM
Dim nShellNumberLayerId As Integer = EgtGetFirstNameInGroup(nPartId, LAY_SHELL_NBR)
Dim nAuxSolidsLayerId As Integer = EgtGetFirstNameInGroup(nPartId, LAY_AUX_SOLIDS)
Dim nMachStartLayerId As Integer = EgtGetFirstNameInGroup(nPartId, LAY_MACH_START)
Dim nOthersLayerId As Integer = EgtGetFirstNameInGroup(nPartId, LAY_OTHERS)
Dim sFilePath As String = ""
EgtGetInfo(nPartId, FILE_PATH, sFilePath)
Dim nReferenceLayerId As Integer = EgtGetFirstNameInGroup(nPartId, LAY_REFERENCE)
Dim nFrameId As Integer = EgtGetFirstInGroup(nReferenceLayerId)
Dim NewPart As New Print3dPartVM(nPartId, nPrintPartLayerId, nPrintPartId, nOriginalPartLayerId, nReferenceLayerId, nFrameId, nMachStartLayerId, nRibsLayerId, nShellNumberLayerId, nAuxSolidsLayerId, sFilePath)
Dim NewPart As New Print3dPartVM(nPartId, nPrintPartLayerId, nPrintPartId, nOriginalPartLayerId, nReferenceLayerId, nFrameId, nMachStartLayerId, nRibsLayerId, nShellNumberLayerId, nAuxSolidsLayerId, nOthersLayerId, sFilePath)
Map.refTopPanelVM.PartList.Add(NewPart)
Dim bPartToRecalc As Boolean = False
EgtGetInfo(nPartId, MAC_TORECALC_SLICE, bPartToRecalc)
@@ -901,6 +927,8 @@ Public Class MySceneHostVM
Map.refSliceManagerVM.UpdateTimeAndMass()
End If
Map.refSliderManagerVM.SetLayerIndexToMax()
' seleziono primo pezzo trovato
Map.refTopPanelVM.SelFirstPart()
+313 -18
View File
@@ -1,22 +1,71 @@
<StackPanel x:Class="ShellNumberPanelV"
<Grid x:Class="ShellNumberPanelV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
xmlns:PrintApp="clr-namespace:Icarus"
Margin="5">
<StackPanel.Resources>
<Grid.Resources>
<PrintApp:CenterToolTipConverter x:Key="CenterToolTipConverter"/>
</StackPanel.Resources>
<ComboBox ItemsSource="{Binding ShellNumberList}"
<PrintApp:FromBooleanToVisibility x:Key="FromBooleanToVisibility"/>
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<ComboBox Grid.Row="3"
ItemsSource="{Binding ShellNumberList}"
SelectedItem="{Binding SelShellNumber}"
IsEnabled="{Binding ShellNumberList_IsEnabled}"
DisplayMemberPath="ghName"/>
DisplayMemberPath="ghName"
Style="{StaticResource FeatureComboBox}"/>
<!--Add Button-->
<ToggleButton x:Name="AddBtn"
Grid.Row="4"
Content="Add"
IsChecked="{Binding bAdd_IsChecked}"
Style="{StaticResource ToolBar_TextToggleButton}"/>
<Popup IsOpen="{Binding IsChecked, ElementName=AddBtn}"
<Border Grid.Column="1"
Grid.Row="3"
Grid.RowSpan="3"
VerticalAlignment="Center"
Margin="5,0,0,0"
Visibility="{Binding IsChecked, ElementName=AddBtn, Converter={StaticResource FromBooleanToVisibility}}"
Style="{StaticResource LeftPanelPopup_Border}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Button Grid.Column="0"
Command="{Binding Import_Command}"
ToolTip="{Binding Import_ToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/ProjectManager/Import.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="1"
Command="{Binding Line2P_Command}"
ToolTip="{Binding Line2P_ToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/DrawPanel/Line2P.png" Stretch="Uniform"/>
</Button>
</Grid>
</Border>
<!--<Popup IsOpen="{Binding IsChecked, ElementName=AddBtn}"
PlacementTarget="{Binding ElementName=AddBtn}"
Style="{StaticResource LeftPanel_Popup}">
<Border Style="{StaticResource LeftPanelPopup_Border}">
@@ -39,13 +88,68 @@
</Button>
</Grid>
</Border>
</Popup>
</Popup>-->
<!--Edit Button-->
<ToggleButton x:Name="EditBtn"
Grid.Row="5"
Content="Edit"
IsChecked="{Binding bEdit_IsChecked}"
Style="{StaticResource ToolBar_TextToggleButton}"/>
<Popup IsOpen="{Binding IsChecked, ElementName=EditBtn}"
<Border Grid.Column="1"
Grid.Row="4"
Grid.RowSpan="3"
VerticalAlignment="Center"
Margin="5,0,0,0"
Visibility="{Binding IsChecked, ElementName=EditBtn, Converter={StaticResource FromBooleanToVisibility}}"
Style="{StaticResource LeftPanelPopup_Border}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Button Grid.Column="0"
Command="{Binding Delete_Command}"
ToolTip="{Binding Delete_ToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/DrawPanel/Delete.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="1"
Command="{Binding ModifyCurve_Command}"
ToolTip="{Binding ModifyCurve_ToolTip}"
Visibility="{Binding Compo_Visibility}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/DrawPanel/ModifyCurve.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="2"
Command="{Binding AddPointCurve_Command}"
ToolTip="{Binding AddPointCurve_ToolTip}"
Visibility="{Binding Compo_Visibility}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/DrawPanel/AddPointCurve.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="3"
Command="{Binding RemovePointCurve_Command}"
ToolTip="{Binding RemovePointCurve_ToolTip}"
Visibility="{Binding Compo_Visibility}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/DrawPanel/RemovePointCurve.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="4"
Command="{Binding Extrude_Command}"
ToolTip="{Binding Extrude_ToolTip}"
Visibility="{Binding Compo_Visibility}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/DrawPanel/Extrude.png" Stretch="Uniform"/>
</Button>
</Grid>
</Border>
<!--<Popup IsOpen="{Binding IsChecked, ElementName=EditBtn}"
PlacementTarget="{Binding ElementName=EditBtn}"
Style="{StaticResource LeftPanel_Popup}">
<Border Style="{StaticResource LeftPanelPopup_Border}">
@@ -96,13 +200,102 @@
</Button>
</Grid>
</Border>
</Popup>
</Popup>-->
<!--Grid Button-->
<ToggleButton x:Name="GridBtn"
Grid.Row="6"
Content="Grid"
IsChecked="{Binding bGrid_IsChecked}"
Style="{StaticResource ToolBar_TextToggleButton}"/>
<Popup IsOpen="{Binding IsChecked, ElementName=GridBtn}"
<Border Grid.Column="1"
Grid.Row="5"
Grid.RowSpan="3"
VerticalAlignment="Center"
Margin="5,0,0,0"
Visibility="{Binding IsChecked, ElementName=GridBtn, Converter={StaticResource FromBooleanToVisibility}}"
Style="{StaticResource LeftPanelPopup_Border}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Button Command="{Binding CPlaneTop_Command}"
ToolTip="{Binding CPlaneTopToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneTOP.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="1"
Command="{Binding CPlaneFront_Command}"
ToolTip="{Binding CPlaneFrontToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneFRONT.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="2"
Command="{Binding CPlaneRight_Command}"
ToolTip="{Binding CPlaneRightToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneRIGHT.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="3"
Command="{Binding CPlaneBack_Command}"
ToolTip="{Binding CPlaneBackToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneBACK.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="4"
Command="{Binding CPlaneLeft_Command}"
ToolTip="{Binding CPlaneLeftToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneLEFT.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="5"
Command="{Binding CPlaneBottom_Command}"
ToolTip="{Binding CPlaneBottomToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneBOTTOM.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="6"
Command="{Binding CPlaneElevation_Command}"
ToolTip="{Binding CPlaneElevationToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneELEVATION.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="7"
Command="{Binding CPlaneRotate_Command}"
ToolTip="{Binding CPlaneRotateToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneROTATE.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="8"
Command="{Binding CPlane3P_Command}"
ToolTip="{Binding CPlane3PToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CPlane3POINTS.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="9"
Command="{Binding CPlanePerpObj_Command}"
ToolTip="{Binding CPlanePerpObjToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CPlanePERPCURVE.png" Stretch="Uniform"/>
</Button>
<!--<Button Grid.Column="10"
Command="{Binding CPlaneObj_Command}"
ToolTip="{Binding CPlaneObjToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneOBJECT.png" Stretch="Uniform"/>
</Button>-->
</Grid>
</Border>
<!--<Popup IsOpen="{Binding IsChecked, ElementName=GridBtn}"
PlacementTarget="{Binding ElementName=GridBtn}"
Style="{StaticResource LeftPanel_Popup}">
<Border Style="{StaticResource LeftPanelPopup_Border}">
@@ -179,21 +372,82 @@
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CPlanePERPCURVE.png" Stretch="Uniform"/>
</Button>
<!--<Button Grid.Column="10"
--><!--<Button Grid.Column="10"
Command="{Binding CPlaneObj_Command}"
ToolTip="{Binding CPlaneObjToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneOBJECT.png" Stretch="Uniform"/>
</Button>-->
</Button>--><!--
</Grid>
</Border>
</Popup>
</Popup>-->
<!--Move Button-->
<ToggleButton x:Name="MoveBtn"
Grid.Row="7"
Content="Move"
IsChecked="{Binding bMove_IsChecked}"
Style="{StaticResource ToolBar_TextToggleButton}"/>
<Popup IsOpen="{Binding IsChecked, ElementName=MoveBtn}"
<Border Grid.Column="1"
Grid.Row="5"
Grid.RowSpan="5"
VerticalAlignment="Center"
Margin="5,0,0,0"
Visibility="{Binding IsChecked, ElementName=MoveBtn, Converter={StaticResource FromBooleanToVisibility}}"
Style="{StaticResource LeftPanelPopup_Border}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid Margin="0,0,0,2.5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="X"
VerticalAlignment="Center"/>
<EgtWPFLib5:EgtTextBox Text="{Binding sXPos, UpdateSourceTrigger=Explicit}"
Grid.Column="1"
Margin="5,0,0,0"
Style="{StaticResource LeftPanel_TextBox}"/>
</Grid>
<Grid Grid.Row="1"
Margin="0,2.5,0,2.5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="Y"
VerticalAlignment="Center"/>
<EgtWPFLib5:EgtTextBox Text="{Binding sYPos, UpdateSourceTrigger=Explicit}"
Grid.Column="1"
Margin="5,0,0,0"
Style="{StaticResource LeftPanel_TextBox}"/>
</Grid>
<Grid Grid.Row="2"
Margin="0,2.5,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="Z"
VerticalAlignment="Center"/>
<EgtWPFLib5:EgtTextBox Text="{Binding sZPos, UpdateSourceTrigger=Explicit}"
Grid.Column="1"
Margin="5,0,0,0"
Style="{StaticResource LeftPanel_TextBox}"/>
</Grid>
<Grid Grid.Row="3"
Margin="0,2.5,0,0">
<Button Content="Drag"
Command="{Binding DragMove_Command}"
Style="{StaticResource LeftPanel_TextButton}"/>
</Grid>
</Grid>
</Border>
<!--<Popup IsOpen="{Binding IsChecked, ElementName=MoveBtn}"
PlacementTarget="{Binding ElementName=MoveBtn}"
Style="{StaticResource LeftPanel_Popup}">
<Border Style="{StaticResource LeftPanelPopup_Border}">
@@ -250,12 +504,52 @@
</Grid>
</Grid>
</Border>
</Popup>
</Popup>-->
<ToggleButton x:Name="RotateBtn"
Grid.Row="8"
Content="Rotate"
IsChecked="{Binding bRotate_IsChecked}"
Style="{StaticResource ToolBar_TextToggleButton}"/>
<Popup IsOpen="{Binding IsChecked, ElementName=RotateBtn}"
<Border Grid.Column="1"
Grid.Row="6"
Grid.RowSpan="5"
VerticalAlignment="Center"
Margin="5,0,0,0"
Visibility="{Binding IsChecked, ElementName=RotateBtn, Converter={StaticResource FromBooleanToVisibility}}"
Style="{StaticResource LeftPanelPopup_Border}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<UniformGrid Columns="3">
<RadioButton Content="X"
GroupName="Axes"
IsChecked="{Binding RotAxes[0]}"
Style="{StaticResource ToolBar_ToggleButton}"/>
<RadioButton Content="Y"
GroupName="Axes"
IsChecked="{Binding RotAxes[1]}"
Style="{StaticResource ToolBar_ToggleButton}"/>
<RadioButton Content="Z"
GroupName="Axes"
IsChecked="{Binding RotAxes[2]}"
Style="{StaticResource ToolBar_ToggleButton}"/>
</UniformGrid>
<EgtWPFLib5:EgtTextBox Grid.Row="1"
Text="{Binding sRotAngle, UpdateSourceTrigger=Explicit}"
Margin="0,5,0,0"/>
<Grid Grid.Row="2"
Margin="0,2.5,0,0">
<Button Content="Drag"
Command="{Binding DragRotate_Command}"
Style="{StaticResource LeftPanel_TextButton}"/>
</Grid>
</Grid>
</Border>
<!--<Popup IsOpen="{Binding IsChecked, ElementName=RotateBtn}"
Grid.Column="1"
PlacementTarget="{Binding ElementName=RotateBtn}"
Style="{StaticResource LeftPanel_Popup}">
@@ -292,9 +586,10 @@
</Grid>
</Grid>
</Border>
</Popup>
</Popup>-->
<ToggleButton Content="Parameters"
Grid.Row="9"
IsChecked="{Binding bMachParam_IsChecked}"
Style="{StaticResource ToolBar_TextToggleButton}"/>
</StackPanel>
</Grid>
+6 -1
View File
@@ -1,7 +1,7 @@
<UserControl x:Class="SliceManagerV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="260">
Width="320">
<Border VerticalAlignment="Bottom"
Style="{StaticResource LeftPanelPopup_Border}">
<Grid>
@@ -44,6 +44,11 @@
Style="{StaticResource ToolBar_TextButton}"
IsEnabled="{Binding Buttons_IsEnabled}"
Visibility="{Binding ModifyMode_Visibility}"/>
<Button Content="Update"
Command="{Binding Update_Command}"
Style="{StaticResource ToolBar_TextButton}"
IsEnabled="{Binding Buttons_IsEnabled}"
Visibility="{Binding SliceMode_Visibility}"/>
<Button Content="Generate"
Command="{Binding Generate_Command}"
Style="{StaticResource ToolBar_TextButton}"
+121 -18
View File
@@ -1,5 +1,7 @@
Imports EgtWPFLib5
Imports EgtUILib
Imports Microsoft.Win32
Imports System.IO
Public Class SliceManagerVM
Inherits VMBase
@@ -158,6 +160,7 @@ Public Class SliceManagerVM
' Definizione comandi
Private m_cmdSlice As ICommand
Private m_cmdSimulate As ICommand
Private m_cmdUpdate As ICommand
Private m_cmdGenerate As ICommand
Private m_cmdExit As ICommand
@@ -278,10 +281,18 @@ Public Class SliceManagerVM
Return 0
End Function
Friend Function CalcSlice(bSlice As Boolean, bCalcTFS As Boolean, bGenerate As Boolean) As Boolean
m_bSlice = bSlice
m_bCalcTFS = bCalcTFS
m_bGenerate = bGenerate
Friend Function CalcSlice(bGenerate As Boolean, Optional bForceGenerate As Boolean = False) As Boolean
' Verifico nome progetto
Dim sCurrProject As String = String.Empty
EgtGetCurrFilePath(sCurrProject)
If String.IsNullOrWhiteSpace(sCurrProject) Or EgtGetFileType(sCurrProject) <> FT.NGE Then
Map.refSceneHostVM.SaveAsProject()
End If
EgtGetCurrFilePath(sCurrProject)
If String.IsNullOrWhiteSpace(sCurrProject) Or EgtGetFileType(sCurrProject) <> FT.NGE Then
MessageBox.Show("Save project before calculating slices!", "Error", MessageBoxButton.OK, MessageBoxImage.Error)
Return False
End If
' mostro barre di caricamento
SetLoadingVisibility(True)
' disabilito ProjManager, TopPanel, TFS, Slider, bottoni e uscita dal programma
@@ -293,44 +304,54 @@ Public Class SliceManagerVM
Map.refSliderManagerVM.SetLayerAdvancementIsEnabled(False)
SetButtonsIsEnabled(False)
' verifico se eseguire slice
m_bSlice = False
m_bCalcTFS = False
m_bGenerate = bGenerate
Dim bOk As Boolean = True
Dim bToRecalcSlice As Boolean = False
Dim bToRecalcTFS As Boolean = False
Dim bToRecalcGenerate As Boolean = False
Dim nPartId As Integer = EgtGetFirstPart()
While nPartId <> GDB_ID.NULL
Dim bTemp As Boolean = False
If EgtGetInfo(nPartId, MAC_TORECALC_SLICE, bTemp) AndAlso bTemp Then
bToRecalcSlice = True
End If
If EgtGetInfo(nPartId, MAC_TORECALC_GENERATE, bTemp) AndAlso bTemp Then
If EgtGetInfo(nPartId, MAC_TORECALC_TFS, bTemp) AndAlso bTemp Then
bToRecalcTFS = True
End If
If EgtGetInfo(nPartId, MAC_TORECALC_GENERATE, bTemp) AndAlso bTemp Then
bToRecalcGenerate = True
End If
nPartId = EgtGetNextPart(nPartId)
End While
If bToRecalcSlice Then
m_bSlice = True
m_bCalcTFS = True
m_bGenerate = True
m_bGenerate = bForceGenerate OrElse (bGenerate AndAlso bToRecalcGenerate)
Else
m_bSlice = False
m_bCalcTFS = bToRecalcTFS
m_bGenerate = bToRecalcTFS
m_bGenerate = bForceGenerate OrElse (bGenerate AndAlso bToRecalcGenerate)
End If
' aggiorno dati macchina
If m_bSlice OrElse m_bCalcTFS Then
EgtSetInfo(nPartId, MAC_TORECALC_GENERATE, True)
End If
' Aggiorno dati macchina
If m_bCalcTFS Then Map.refTFSEditorVM.UpdateSpeedMinMax()
' eseguo calcolo slicing, toolpath e solidi
bOk = ExecSlice(m_bSlice, m_bCalcTFS)
' se calcolo andato a buon fine, rimuovo flag richiesta ricalcolo
' se calcolo andato a buon fine
If bOk Then
' rimuovo flag richiesta ricalcolo
Dim nCurrPartId As Integer = EgtGetFirstPart()
While nCurrPartId <> GDB_ID.NULL
' eseguo rimozione flag
EgtRemoveInfo(nPartId, MAC_TORECALC_SLICE)
If m_bSlice Then EgtRemoveInfo(nCurrPartId, MAC_TORECALC_SLICE)
If m_bCalcTFS Then EgtRemoveInfo(nCurrPartId, MAC_TORECALC_TFS)
nCurrPartId = EgtGetNextPart(nCurrPartId)
End While
End If
' aggiorno massa
If bOk Then
' aggiorno massa
Dim nLayTFSCalcId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, LAY_TFSCALC)
EgtGetInfo(nLayTFSCalcId, KEY_MASS, m_dMass)
NotifyPropertyChanged(NameOf(ghMass))
@@ -351,8 +372,6 @@ Public Class SliceManagerVM
NotifyPropertyChanged(NameOf(ghTime))
Dim nLayTFSCalcId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, LAY_TFSCALC)
EgtSetInfo(nLayTFSCalcId, "Ttot", m_dTime)
'' eseguo script di uscita da machgroup corrente
'ExecExitMachScript()
' se calcolo andato a buon fine, rimuovo flag richiesta ricalcolo
If bOk Then
Dim nCurrPartId As Integer = EgtGetFirstPart()
@@ -477,7 +496,7 @@ Public Class SliceManagerVM
m_bCalculating = False
Return
End If
If IsNothing(Map.refTopPanelVM.SelMachining) Then
If IsNothing(Map.refTopPanelVM.SelMachining) OrElse IsNothing(Map.refTopPanelVM.CurrMachining) OrElse Map.refTopPanelVM.CurrMachining.dCurrStrandH <= 0 Then
MessageBox.Show("No print parameters set!", "Error", MessageBoxButton.OK, MessageBoxImage.Error)
m_bCalculating = False
Return
@@ -485,7 +504,7 @@ Public Class SliceManagerVM
' esco da altre pagine
Map.refTopPanelVM.SelPage = Pages.NULL
' eseguo calcoli
CalcSlice(True, True, True)
CalcSlice(False)
Map.refTopPanelVM.SelPage = Pages.SLICE
Map.refSliderManagerVM.SetLayerIndexToMax()
NotifyPropertyChanged(NameOf(TimeMass_Visibility))
@@ -494,6 +513,33 @@ Public Class SliceManagerVM
#End Region ' Slice
#Region "Update"
''' <summary>
''' Returns a command that do CPlaneTop.
''' </summary>
Public ReadOnly Property Update_Command As ICommand
Get
If m_cmdUpdate Is Nothing Then
m_cmdUpdate = New Command(AddressOf Update)
End If
Return m_cmdUpdate
End Get
End Property
''' <summary>
''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand.
''' </summary>
Public Sub Update()
If m_bCalculating Then Return
m_bCalculating = True
' eseguo calcoli
CalcSlice(False)
m_bCalculating = False
End Sub
#End Region ' Update
#Region "Generate"
''' <summary>
@@ -514,8 +560,61 @@ Public Class SliceManagerVM
Public Sub Generate()
If m_bCalculating Then Return
m_bCalculating = True
Dim bShiftPressed As Boolean = (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift
Dim bCtrlPressed As Boolean = (Keyboard.Modifiers And ModifierKeys.Control) = ModifierKeys.Control
' se shift chiedo nome
Dim sIsoFilePath As String = ""
Dim sExtension As String = ""
GetPrivateProfileString(S_PARTPROGRAM, K_EXTENSION, "", sExtension, CurrentMachine.sMachIniFile)
If String.IsNullOrWhiteSpace(sExtension) Then
sExtension = ".cnc"
End If
If bShiftPressed Then
Dim sCurrFilePath As String = ""
Dim sInitialDirectory As String = ""
EgtGetCurrFilePath(sCurrFilePath)
If Not IsNothing(sCurrFilePath) Then
sInitialDirectory = System.IO.Path.ChangeExtension(sCurrFilePath, sExtension)
End If
Dim NewSaveFileDialog As New Windows.Forms.SaveFileDialog With {.Title = "ISO File Name",
.Filter = "|*" & sExtension,
.FilterIndex = 1,
.InitialDirectory = System.IO.Path.GetDirectoryName(sInitialDirectory),
.FileName = sInitialDirectory,
.CreatePrompt = True,
.OverwritePrompt = True,
.ValidateNames = False}
Dim bResult As Boolean? = NewSaveFileDialog.ShowDialog()
If IsNothing(bResult) OrElse Not bResult Then
m_bCalculating = False
Return
End If
Dim nTabPartId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, TABLE)
If nTabPartId <> GDB_ID.NULL Then
EgtSetInfo(nTabPartId, KEY_ISOFILE_PATH, NewSaveFileDialog.FileName)
sIsoFilePath = NewSaveFileDialog.FileName
End If
Else
Dim nTabPartId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, TABLE)
If nTabPartId <> GDB_ID.NULL Then
EgtGetInfo(nTabPartId, KEY_ISOFILE_PATH, sIsoFilePath)
If String.IsNullOrWhiteSpace(sIsoFilePath) Then
EgtGetCurrFilePath(sIsoFilePath)
sIsoFilePath = System.IO.Path.ChangeExtension(sIsoFilePath, sExtension)
End If
End If
End If
' eseguo calcoli
CalcSlice(True, True, True)
CalcSlice(True, True)
If bCtrlPressed Then
' Se esiste ne lancio l'editing
If File.Exists(sIsoFilePath) Then
Process.Start("Notepad.exe", sIsoFilePath)
' altrimenti lo segnalo
Else
MessageBox.Show("Edit failed, missing part program file" & " (" & sIsoFilePath & ")")
End If
End If
m_bCalculating = False
End Sub
@@ -539,6 +638,10 @@ Public Class SliceManagerVM
''' Execute the CPlaneTop. This method is invoked by the CPlaneTopCommand.
''' </summary>
Public Sub Simulate()
m_bCalculating = True
' eseguo calcoli
CalcSlice(True)
m_bCalculating = False
' verifico esistenza e correttezza machgroup
InitMachGroup(False)
' apro simulazione
+2 -2
View File
@@ -123,7 +123,7 @@ Public Class SliderManagerVM
Get
Dim dH As Double = 0
If Not IsNothing(Map.refTopPanelVM.CurrMachining) Then
If Map.refTopPanelVM.CurrMachining.bCurrSlicing45 Then
If Map.refTopPanelVM.CurrMachining.dCurrSlicingType = Machining.MPAR_SLICINGTYPE.DEG45 Then
Return m_nLayerIndex
Else
Return m_nLayerIndex & " (" & DoubleToString(m_nLayerIndex * Map.refTopPanelVM.CurrMachining.dCurrStrandH, 0) & "mm)"
@@ -138,7 +138,7 @@ Public Class SliderManagerVM
Get
Dim dH As Double = 0
If Not IsNothing(Map.refTopPanelVM.CurrMachining) Then
If Map.refTopPanelVM.CurrMachining.bCurrSlicing45 Then
If Map.refTopPanelVM.CurrMachining.dCurrSlicingType = Machining.MPAR_SLICINGTYPE.DEG45 Then
Return m_nLayerIndex_Maximum
Else
Return m_nLayerIndex_Maximum & " (" & DoubleToString(m_nLayerIndex_Maximum * Map.refTopPanelVM.CurrMachining.dCurrStrandH, 0) & "mm)"
+239 -15
View File
@@ -1,21 +1,68 @@
<StackPanel x:Class="StartMachPanelV"
<Grid x:Class="StartMachPanelV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
xmlns:PrintApp="clr-namespace:Icarus"
Margin="5">
<StackPanel.Resources>
<Grid.Resources>
<PrintApp:CenterToolTipConverter x:Key="CenterToolTipConverter"/>
</StackPanel.Resources>
<ComboBox ItemsSource="{Binding StartList}"
<PrintApp:FromBooleanToVisibility x:Key="FromBooleanToVisibility"/>
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
<RowDefinition Height="{Binding ActualHeight, ElementName=MoveBtn}"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<ComboBox Grid.Row="3"
ItemsSource="{Binding StartList}"
SelectedItem="{Binding SelStart}"
DisplayMemberPath="ghName"/>
DisplayMemberPath="ghName"
Style="{StaticResource FeatureComboBox}"/>
<!-- Add Button -->
<ToggleButton x:Name="AddBtn"
<ToggleButton x:Name="AddBtn"
Grid.Row="4"
Content="Add"
IsChecked="{Binding bAdd_IsChecked}"
Style="{StaticResource ToolBar_TextToggleButton}"/>
<Popup IsOpen="{Binding IsChecked, ElementName=AddBtn}"
<Border Grid.Column="1"
Grid.Row="3"
Grid.RowSpan="3"
VerticalAlignment="Center"
Margin="5,0,0,0"
Visibility="{Binding IsChecked, ElementName=AddBtn, Converter={StaticResource FromBooleanToVisibility}}"
Style="{StaticResource LeftPanelPopup_Border}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Button Grid.Column="0"
Command="{Binding Point_Command}"
ToolTip="{Binding Point_ToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/DrawPanel/Point.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="1"
Command="{Binding Line2P_Command}"
ToolTip="{Binding Line2P_ToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/DrawPanel/Line2P.png" Stretch="Uniform"/>
</Button>
</Grid>
</Border>
<!--<Popup IsOpen="{Binding IsChecked, ElementName=AddBtn}"
PlacementTarget="{Binding ElementName=AddBtn}"
Style="{StaticResource LeftPanel_Popup}">
<Border Style="{StaticResource LeftPanelPopup_Border}">
@@ -38,13 +85,61 @@
</Button>
</Grid>
</Border>
</Popup>
</Popup>-->
<!-- Edit Button -->
<ToggleButton x:Name="EditBtn"
Grid.Row="5"
Content="Edit"
IsChecked="{Binding bEdit_IsChecked}"
Style="{StaticResource ToolBar_TextToggleButton}"/>
<Popup IsOpen="{Binding IsChecked, ElementName=EditBtn}"
<Border Grid.Column="1"
Grid.Row="4"
Grid.RowSpan="3"
VerticalAlignment="Center"
Margin="5,0,0,0"
Visibility="{Binding IsChecked, ElementName=EditBtn, Converter={StaticResource FromBooleanToVisibility}}"
Style="{StaticResource LeftPanelPopup_Border}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Button Grid.Column="0"
Command="{Binding Delete_Command}"
ToolTip="{Binding Delete_ToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/DrawPanel/Delete.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="1"
Command="{Binding ModifyCurve_Command}"
ToolTip="{Binding ModifyCurve_ToolTip}"
Visibility="{Binding Compo_Visibility}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/DrawPanel/ModifyCurve.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="2"
Command="{Binding AddPointCurve_Command}"
ToolTip="{Binding AddPointCurve_ToolTip}"
Visibility="{Binding Compo_Visibility}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/DrawPanel/AddPointCurve.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="3"
Command="{Binding RemovePointCurve_Command}"
ToolTip="{Binding RemovePointCurve_ToolTip}"
Visibility="{Binding Compo_Visibility}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/DrawPanel/RemovePointCurve.png" Stretch="Uniform"/>
</Button>
</Grid>
</Border>
<!--<Popup IsOpen="{Binding IsChecked, ElementName=EditBtn}"
PlacementTarget="{Binding ElementName=EditBtn}"
Style="{StaticResource LeftPanel_Popup}">
<Border Style="{StaticResource LeftPanelPopup_Border}">
@@ -88,13 +183,81 @@
</Button>
</Grid>
</Border>
</Popup>
</Popup>-->
<!-- Grid Button -->
<ToggleButton x:Name="GridBtn"
Grid.Row="6"
Content="Grid"
IsChecked="{Binding bGrid_IsChecked}"
Style="{StaticResource ToolBar_TextToggleButton}"/>
<Popup IsOpen="{Binding IsChecked, ElementName=GridBtn}"
<Border Grid.Column="1"
Grid.Row="5"
Grid.RowSpan="3"
VerticalAlignment="Center"
Margin="5,0,0,0"
Visibility="{Binding IsChecked, ElementName=GridBtn, Converter={StaticResource FromBooleanToVisibility}}"
Style="{StaticResource LeftPanelPopup_Border}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Button Command="{Binding CPlaneTop_Command}"
ToolTip="{Binding CPlaneTopToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneTOP.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="1"
Command="{Binding CPlaneFront_Command}"
ToolTip="{Binding CPlaneFrontToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneFRONT.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="2"
Command="{Binding CPlaneRight_Command}"
ToolTip="{Binding CPlaneRightToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneRIGHT.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="3"
Command="{Binding CPlaneBack_Command}"
ToolTip="{Binding CPlaneBackToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneBACK.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="4"
Command="{Binding CPlaneLeft_Command}"
ToolTip="{Binding CPlaneLeftToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneLEFT.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="5"
Command="{Binding CPlaneBottom_Command}"
ToolTip="{Binding CPlaneBottomToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneBOTTOM.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="6"
Command="{Binding CPlaneElevation_Command}"
ToolTip="{Binding CPlaneElevationToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneELEVATION.png" Stretch="Uniform"/>
</Button>
<Button Grid.Column="7"
Command="{Binding CPlaneOrigin_Command}"
ToolTip="{Binding CPlaneOriginToolTip}"
Style="{StaticResource ToolBar_Button}">
<Image Source="/Resources/GridViewPanel/CplaneORIGIN.png" Stretch="Uniform"/>
</Button>
</Grid>
</Border>
<!--<Popup IsOpen="{Binding IsChecked, ElementName=GridBtn}"
PlacementTarget="{Binding ElementName=GridBtn}"
Style="{StaticResource LeftPanel_Popup}">
<Border Style="{StaticResource LeftPanelPopup_Border}">
@@ -158,13 +321,74 @@
</Button>
</Grid>
</Border>
</Popup>
</Popup>-->
<!-- Move Button -->
<ToggleButton x:Name="MoveBtn"
Grid.Row="7"
Content="Move"
IsChecked="{Binding bMove_IsChecked}"
Style="{StaticResource ToolBar_TextToggleButton}"/>
<Popup IsOpen="{Binding IsChecked, ElementName=MoveBtn}"
<Border Grid.Column="1"
Grid.Row="5"
Grid.RowSpan="5"
VerticalAlignment="Center"
Margin="5,0,0,0"
Visibility="{Binding IsChecked, ElementName=MoveBtn, Converter={StaticResource FromBooleanToVisibility}}"
Style="{StaticResource LeftPanelPopup_Border}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid Margin="0,0,0,2.5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="X"
VerticalAlignment="Center"/>
<EgtWPFLib5:EgtTextBox Text="{Binding sXPos, UpdateSourceTrigger=Explicit}"
Grid.Column="1"
Margin="5,0,0,0"
Style="{StaticResource LeftPanel_TextBox}"/>
</Grid>
<Grid Grid.Row="1"
Margin="0,2.5,0,2.5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="Y"
VerticalAlignment="Center"/>
<EgtWPFLib5:EgtTextBox Text="{Binding sYPos, UpdateSourceTrigger=Explicit}"
Grid.Column="1"
Margin="5,0,0,0"
Style="{StaticResource LeftPanel_TextBox}"/>
</Grid>
<Grid Grid.Row="2"
Margin="0,2.5,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="Z"
VerticalAlignment="Center"/>
<EgtWPFLib5:EgtTextBox Text="{Binding sZPos, UpdateSourceTrigger=Explicit}"
Grid.Column="1"
Margin="5,0,0,0"
Style="{StaticResource LeftPanel_TextBox}"/>
</Grid>
<Grid Grid.Row="3"
Margin="0,2.5,0,0">
<Button Content="Drag"
Command="{Binding DragMove_Command}"
Style="{StaticResource LeftPanel_TextButton}"/>
</Grid>
</Grid>
</Border>
<!--<Popup IsOpen="{Binding IsChecked, ElementName=MoveBtn}"
PlacementTarget="{Binding ElementName=MoveBtn}"
Style="{StaticResource LeftPanel_Popup}">
<Border Style="{StaticResource LeftPanelPopup_Border}">
@@ -221,6 +445,6 @@
</Grid>
</Grid>
</Border>
</Popup>
</Popup>-->
</StackPanel>
</Grid>
+6 -6
View File
@@ -465,9 +465,9 @@ Public Class TFSEditorVM
Dim nLayTFSCalcId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, LAY_TFSCALC)
EgtEmptyGroup(nLayTFSCalcId)
For Each CurrPart In Map.refTopPanelVM.PartList
EgtSetInfo(CurrPart.nPartId, MAC_TORECALC_GENERATE, True)
EgtSetInfo(CurrPart.nPartId, MAC_TORECALC_TFS, True)
Next
Map.refSliceManagerVM.CalcSlice(False, True, True)
Map.refSliceManagerVM.CalcSlice(False)
End Sub
#End Region ' Reset
@@ -585,7 +585,7 @@ Public Class TFSLayer
EgtSetInfo(nId, "WaitingTime", m_dTWait)
m_bTWait_IsModified = True
' Imposto flag di ricalcolo generate
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_GENERATE, True)
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_TFS, True)
NotifyPropertyChanged(NameOf(Background))
Else
NotifyPropertyChanged(NameOf(sTWait))
@@ -597,7 +597,7 @@ Public Class TFSLayer
EgtSetInfo(nId, "WaitingTime", m_dTWait)
m_bTWait_IsModified = True
' Imposto flag di ricalcolo generate
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_GENERATE, True)
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_TFS, True)
NotifyPropertyChanged(NameOf(Background))
NotifyPropertyChanged(NameOf(sTWait))
End Sub
@@ -642,7 +642,7 @@ Public Class TFSLayer
EgtSetInfo(nId, "FCur", m_dFCurr)
m_bFCurr_IsModified = True
' Imposto flag di ricalcolo generate
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_GENERATE, True)
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_TFS, True)
NotifyPropertyChanged(NameOf(Background))
Else
NotifyPropertyChanged(NameOf(sFCurr))
@@ -654,7 +654,7 @@ Public Class TFSLayer
EgtSetInfo(nId, "FCur", m_dFCurr)
m_bFCurr_IsModified = True
' Imposto flag di ricalcolo generate
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_GENERATE, True)
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_TFS, True)
NotifyPropertyChanged(NameOf(Background))
NotifyPropertyChanged(NameOf(sFCurr))
End Sub
+4 -4
View File
@@ -42,11 +42,11 @@
FontWeight="Light"
VerticalContentAlignment="Center">
</ComboBox>
<!--<Button Grid.Column="1"
<Button Grid.Column="1"
Command="{Binding PartModify_Command}"
Style="{StaticResource PrintParamDb_Button}">
<Image Source="/Resources/TopPanel/Edit.png"/>
</Button>-->
</Button>
</Grid>
<ToggleButton x:Name="ModifyBtn"
Content="{Binding SelectedItem.sName, ElementName=ModifyModeListBox}"
@@ -159,10 +159,10 @@
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="45°:"
<TextBlock Text="Slicing direction:"
HorizontalAlignment="Right"/>
<TextBlock Grid.Column="1"
Text="{Binding CurrMachining.bCurrSlicing45}"
Text="{Binding CurrMachining.sCurrSlicingType}"
HorizontalAlignment="Left"/>
<TextBlock Grid.Column="2"
Text="StrandH:"
+56 -6
View File
@@ -205,14 +205,22 @@ Public Class TopPanelVM
Set(value As MaterialIndex)
' salvo materiale selezionato come ultimo utilizzato
If Not IsNothing(value) Then WriteMainPrivateProfileString(S_PRINTING3D, K_CURRMATERIAL, value.sGUID)
' salvo selezionato per riselezionarlo
' salvo lavorazione selezionata per riselezionarlo
Dim PrevMachiningGuid As Guid = m_SelMachining.sGUID
' seleziono materiale
m_SelMaterial = value
' scrivo materiale sulla tavola
If Not IsNothing(m_SelMaterial) Then
Dim nTabPartId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, TABLE)
If nTabPartId <> GDB_ID.NULL Then
EgtSetInfo(nTabPartId, KEY_MATERIAL_GUID, Map.refTopPanelVM.SelMaterial.sGUID)
EgtSetInfo(nTabPartId, KEY_MATERIAL_NAME, Map.refTopPanelVM.SelMaterial.sName)
End If
End If
' ricarico lista lavorazioni valide per il materiale selezionato
InitMachiningsList()
Dim PrevMachining As MachiningIndex = m_MachiningList.FirstOrDefault(Function(x) x.sGUID = PrevMachiningGuid)
SetSelMachining(If(Not IsNothing(PrevMachining), PrevMachining, Nothing))
SetSelMachining(If(Not IsNothing(PrevMachining), PrevMachining, MachiningIndex.Empty()))
End Set
End Property
Friend Sub SetSelMaterial(value As MaterialIndex)
@@ -259,7 +267,7 @@ Public Class TopPanelVM
m_MachiningList.Remove(MachiningIndex.Empty())
End If
' se nuova lavorazione e' none
If SelMachining.sGUID = Guid.Empty Then
If SelMachining.sGUID = Guid.Empty AndAlso Not MachiningList.Any(Function(x) x.sGUID = MachiningIndex.Empty.sGUID) Then
' aggiungo lavorazione vuota
MachiningList.Insert(0, MachiningIndex.Empty())
End If
@@ -432,29 +440,71 @@ Public Class TopPanelVM
End Function
Private Sub InitMATERIALDB()
' disabilito ProjManager, TopPanel, TFS, Slider, bottoni e uscita dal programma
Map.refProjManagerVM.SetProjCmdIsEnabled(False)
Map.refTopPanelVM.SetTopPanelIsEnabled(False)
Map.refViewLayerManagerVM.SetViewLayerManagerIsEnabled(False)
Map.refSliceManagerVM.SetButtonsIsEnabled(False)
Map.refSliderManagerVM.SetLayerIndexIsEnabled(False)
Map.refSliderManagerVM.SetLayerAdvancementIsEnabled(False)
' imposto pagina
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.MATERIALDB)
End Sub
Private Function ExitMATERIALDB()
' riabilito ProjManager, TopPanel, TFS, Slider, bottoni e uscita dal programma
Map.refProjManagerVM.SetProjCmdIsEnabled(True)
Map.refTopPanelVM.SetTopPanelIsEnabled(True)
Map.refViewLayerManagerVM.SetViewLayerManagerIsEnabled(True)
Map.refSliceManagerVM.SetButtonsIsEnabled(True)
Map.refSliderManagerVM.SetLayerIndexIsEnabled(True)
Map.refSliderManagerVM.SetLayerAdvancementIsEnabled(True)
Return True
End Function
Private Sub InitMACHININGDB()
' disabilito ProjManager, TopPanel, TFS, Slider, bottoni e uscita dal programma
Map.refProjManagerVM.SetProjCmdIsEnabled(False)
Map.refTopPanelVM.SetTopPanelIsEnabled(False)
Map.refViewLayerManagerVM.SetViewLayerManagerIsEnabled(False)
Map.refSliceManagerVM.SetButtonsIsEnabled(False)
Map.refSliderManagerVM.SetLayerIndexIsEnabled(False)
Map.refSliderManagerVM.SetLayerAdvancementIsEnabled(False)
' imposto pagina
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.PRINTPARAMDB)
End Sub
Private Function ExitMACHININGDB()
' riabilito ProjManager, TopPanel, TFS, Slider, bottoni e uscita dal programma
Map.refProjManagerVM.SetProjCmdIsEnabled(True)
Map.refTopPanelVM.SetTopPanelIsEnabled(True)
Map.refViewLayerManagerVM.SetViewLayerManagerIsEnabled(True)
Map.refSliceManagerVM.SetButtonsIsEnabled(True)
Map.refSliderManagerVM.SetLayerIndexIsEnabled(True)
Map.refSliderManagerVM.SetLayerAdvancementIsEnabled(True)
Return True
End Function
Private Sub InitCURRMACHINING()
' disabilito ProjManager, TopPanel, TFS, Slider, bottoni e uscita dal programma
Map.refProjManagerVM.SetProjCmdIsEnabled(False)
Map.refTopPanelVM.SetTopPanelIsEnabled(False)
Map.refViewLayerManagerVM.SetViewLayerManagerIsEnabled(False)
Map.refSliceManagerVM.SetButtonsIsEnabled(False)
Map.refSliderManagerVM.SetLayerIndexIsEnabled(False)
Map.refSliderManagerVM.SetLayerAdvancementIsEnabled(False)
' imposto pagina
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.CURRPRINTPARAM)
End Sub
Private Function ExitCURRMACHINING()
' riabilito ProjManager, TopPanel, TFS, Slider, bottoni e uscita dal programma
Map.refProjManagerVM.SetProjCmdIsEnabled(True)
Map.refTopPanelVM.SetTopPanelIsEnabled(True)
Map.refViewLayerManagerVM.SetViewLayerManagerIsEnabled(True)
Map.refSliceManagerVM.SetButtonsIsEnabled(True)
Map.refSliderManagerVM.SetLayerIndexIsEnabled(True)
Map.refSliderManagerVM.SetLayerAdvancementIsEnabled(True)
Return True
End Function
+9 -7
View File
@@ -116,33 +116,36 @@ Public Module CurrentMachine
EgtSetName(nTabOutlineId, TABLE_OUTLINE)
' scrivo il nome macchina sulla tavola
EgtSetInfo(nTabPartId, KEY_MACHINE_NAME, CurrentMachine.sMachineName)
' scrivo materiale sulla tavola
If Not IsNothing(Map.refTopPanelVM.SelMaterial) Then
EgtSetInfo(nTabPartId, KEY_MATERIAL_GUID, Map.refTopPanelVM.SelMaterial.sGUID)
EgtSetInfo(nTabPartId, KEY_MATERIAL_NAME, Map.refTopPanelVM.SelMaterial.sName)
End If
' Ripristino stato segnalazione modifica
DisableMgr.ReEnable()
End Sub
Friend Function ReadMachiningParamString(lpAppName As String, lpKeyName As String, lpDefault As String, ByRef lpString As String) As Integer
Dim nResult As Integer = GetPrivateProfileString(lpAppName, lpKeyName, lpDefault, lpString, m_sMachiningFilePath)
Dim nResult As Integer = GetPrivateProfileString(lpAppName, lpKeyName, "", lpString, m_sMachiningFilePath)
If Not String.IsNullOrWhiteSpace(lpString) Then
' lpString = EgwCrypto.DecryptString(lpString, m_Salt)
lpString = EgwCrypto.PowerDecryptString(lpString, m_Salt)
Else
lpString = ""
lpString = lpDefault
End If
Return nResult
End Function
Friend Function ReadMachiningParamSplit(lpAppName As String, lpKeyName As String, lpDefault As String, ByRef lpString As String) As Integer
Dim nResult As Integer = GetPrivateProfileString(lpAppName, lpKeyName, lpDefault, lpString, m_sMachiningFilePath)
Dim nResult As Integer = GetPrivateProfileString(lpAppName, lpKeyName, "", lpString, m_sMachiningFilePath)
If Not String.IsNullOrWhiteSpace(lpString) Then
Dim Values() As String = lpString.Split(";"c)
Dim sCryptoValues As String = ""
For ValueIndex = 0 To Values.Count - 1
sCryptoValues += EgwCrypto.PowerDecryptString(Values(ValueIndex), m_Salt) & If(ValueIndex < Values.Count - 1, ";", "")
'sCryptoValues += EgwCrypto.DecryptString(Values(ValueIndex), m_Salt) & If(ValueIndex < Values.Count - 1, ";", "")
Next
lpString = sCryptoValues
Else
lpString = ""
lpString = lpDefault
End If
Return nResult
End Function
@@ -175,7 +178,6 @@ Public Module CurrentMachine
Friend Function ReadMaterialParamString(lpAppName As String, lpKeyName As String, lpDefault As String, ByRef lpString As String) As Integer
Dim nResult As Integer = GetPrivateProfileString(lpAppName, lpKeyName, lpDefault, lpString, m_sMaterialsFilePath)
If Not String.IsNullOrWhiteSpace(lpString) Then
'lpString = EgwCrypto.DecryptString(lpString, m_Salt)
lpString = EgwCrypto.PowerDecryptString(lpString, m_Salt)
Else
lpString = ""
+1
View File
@@ -44,6 +44,7 @@
<PrintApp:SimulationPanelVM x:Key="SimulationPanelVM"/>
<PrintApp:ReferencePanelVM x:Key="ReferencePanelVM"/>
<PrintApp:ViewLayerManagerVM x:Key="ViewLayerManagerVM"/>
<PrintApp:ModifyPartPanelVM x:Key="ModifyPartPanelVM"/>
<!--<EgtBEAMWALL:CALCPanelVM x:Key="CALCPanelVM"/>
<EgtBEAMWALL:PartParametersVM x:Key="PartParametersVM"/>
<EgtBEAMWALL:LeftPanelVM x:Key="LeftPanelVM"/>
+5 -1
View File
@@ -66,7 +66,11 @@ Public Module EgwCrypto
Public Function PowerDecryptString(ByVal Message As String, ByVal Passphrase As String) As String
Dim sTransformMessage As String = DecryptString(Message, Passphrase)
Return sTransformMessage.Substring(8, sTransformMessage.Length - 16)
If sTransformMessage.Length() >= 16 Then
Return sTransformMessage.Substring(8, sTransformMessage.Length - 16)
Else
Return ""
End If
End Function
'Public Function getHashStringMD5(ByVal Message As String) As String
+57
View File
@@ -0,0 +1,57 @@
Imports EgtUILib
Module GeomEntityColors
Private m_c3Print As Color3d
Public ReadOnly Property c3Print As Color3d
Get
Return m_c3Print
End Get
End Property
Private m_c3MachStart As Color3d
Public ReadOnly Property c3MachStart As Color3d
Get
Return m_c3MachStart
End Get
End Property
Private m_c3Rib As Color3d
Public ReadOnly Property c3Rib As Color3d
Get
Return m_c3Rib
End Get
End Property
Private m_c3ShellNumber As Color3d
Public ReadOnly Property c3ShellNumber As Color3d
Get
Return m_c3ShellNumber
End Get
End Property
Private m_c3AuxSolids As Color3d
Public ReadOnly Property c3AuxSolids As Color3d
Get
Return m_c3AuxSolids
End Get
End Property
Private m_c3Others As Color3d
Public ReadOnly Property c3Others As Color3d
Get
Return m_c3Others
End Get
End Property
Sub New()
' imposto colori superfici
m_c3Print.FromColor(System.Drawing.Color.Yellow)
m_c3MachStart.FromColor(System.Drawing.Color.Red)
m_c3Rib.FromColor(System.Drawing.Color.MediumOrchid)
m_c3ShellNumber.FromColor(System.Drawing.Color.Lime)
m_c3AuxSolids.FromColor(System.Drawing.Color.DarkGoldenrod)
m_c3Others.FromColor(System.Drawing.Color.LightGray)
End Sub
End Module
+23 -2
View File
@@ -23,8 +23,15 @@ Module LuaExec
End If
' Assegno i dati
Dim SelMaterialParam As Material = Map.refTopPanelVM.GetSelMaterialData()
Dim dMachiningConstant As Double = 100
If Not IsNothing(Map.refTopPanelVM.CurrMachining) Then
Dim MachiningConstant As CurrNumericMachiningParam = Map.refTopPanelVM.CurrMachining.CathegoryList.FirstOrDefault(Function(x) x.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(y) y.Type = MachiningParam.Params.CONSTANT)
If Not IsNothing(MachiningConstant) Then
dMachiningConstant = MachiningConstant.dValue
End If
End If
EgtLuaCreateGlobTable("MATERIAL")
EgtLuaSetGlobNumVar("MATERIAL.K", SelMaterialParam.dK)
EgtLuaSetGlobNumVar("MATERIAL.K", dMachiningConstant)
EgtLuaSetGlobNumVar("MATERIAL.C1", SelMaterialParam.dC1)
EgtLuaSetGlobNumVar("MATERIAL.C2", SelMaterialParam.dC2)
EgtLuaSetGlobNumVar("MATERIAL.Density", SelMaterialParam.dDensity)
@@ -59,6 +66,20 @@ Module LuaExec
' eseguo generazione
EgtLuaCreateGlobTable("PRINT")
EgtLuaSetGlobIntVar("PRINT.PROGRAM", 1)
Dim sIsoFilePath As String = ""
Dim nTabPartId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, TABLE)
If nTabPartId <> GDB_ID.NULL Then
If Not EgtGetInfo(nTabPartId, KEY_ISOFILE_PATH, sIsoFilePath) Then
EgtGetCurrFilePath(sIsoFilePath)
Dim sExtension As String = ""
GetPrivateProfileString(S_PARTPROGRAM, K_EXTENSION, "", sExtension, CurrentMachine.sMachIniFile)
If String.IsNullOrWhiteSpace(sExtension) Then
sExtension = ".cnc"
End If
sIsoFilePath = System.IO.Path.ChangeExtension(sIsoFilePath, sExtension)
End If
End If
EgtLuaSetGlobStringVar("PRINT.ISOFILEPATH", sIsoFilePath)
Dim bOk As Boolean = EgtLuaExecFile(Map.refMainWindowVM.MainWindowM.s3dPrintingDir & "\GcodeGenerate.lua")
If bOk Then
Dim nErr As Integer = 999
@@ -71,7 +92,7 @@ Module LuaExec
End Function
Friend Function ExecSolid() As Boolean
EgtOutLog("-- Start ExecGenerate --")
EgtOutLog("-- Start ExecSolid --")
' eseguo generazione
EgtLuaCreateGlobTable("PRINT")
Dim bOk As Boolean = EgtLuaExecFile(Map.refMainWindowVM.MainWindowM.s3dPrintingDir & "\CalcSolids.lua")
+12
View File
@@ -60,6 +60,7 @@ Module Map
Private m_refViewLayerManagerVM As ViewLayerManagerVM
Private m_refShellNumberPanelVM As ShellNumberPanelVM
Private m_refShellNumberParamPanelVM As ShellNumberParamPanelVM
Private m_refModifyPartPanelVM As ModifyPartPanelVM
#Region "Get"
@@ -422,6 +423,12 @@ Module Map
End Get
End Property
Public ReadOnly Property refModifyPartPanelVM As ModifyPartPanelVM
Get
Return m_refModifyPartPanelVM
End Get
End Property
#End Region ' Get
#Region "Set"
@@ -725,6 +732,11 @@ Module Map
Return Not IsNothing(m_refShellNumberParamPanelVM)
End Function
Friend Function SetRefModifyPartPanelVM(ModifyPartPanelVM As ModifyPartPanelVM) As Boolean
m_refModifyPartPanelVM = ModifyPartPanelVM
Return Not IsNothing(m_refModifyPartPanelVM)
End Function
#End Region ' Set
#Region "Init"
+23
View File
@@ -31,4 +31,27 @@ Public Class MyMachine
Return True
End Function
Friend Shared Function InsertMachine(sPath As String, MachineList As IList(Of Machine)) As Boolean
' Verifico presenza file caratteristici
Dim sName As String = Path.GetFileName(sPath)
Dim MachineIniPath As String = sPath & "\" & sName & ".ini"
Dim MachineMldePath As String = sPath & "\" & sName & ".mlde"
If Not File.Exists(MachineIniPath) Or Not File.Exists(MachineMldePath) Then Return False
' Cerco la posizione di inserimento
Dim nPos As Integer = 0
For nI As Integer = 0 To MachineList.Count() - 1
Dim nRes As Integer = String.Compare(sName, MachineList(nI).Name, True)
If nRes = 0 Then
Return True
ElseIf nRes < 0 Then
Exit For
Else
nPos += 1
End If
Next
' Inserisco nella lista
MachineList.Insert(nPos, New MyMachine(sPath, MachineIniPath))
Return True
End Function
End Class
+10 -3
View File
@@ -79,7 +79,14 @@ Public Class Print3dPartVM
End Get
End Property
Private m_sImportedFileName As String
' gruppo others
Private m_nOthersLayerId As Integer = GDB_ID.NULL
Public ReadOnly Property nOthersLayerId As Integer
Get
Return m_nOthersLayerId
End Get
End Property
Public ReadOnly Property sImportedFileName As String
Get
Return If(Not String.IsNullOrWhiteSpace(m_sImportedFilePath), IO.Path.GetFileName(m_sImportedFilePath), "")
@@ -112,11 +119,10 @@ Public Class Print3dPartVM
Sub New(nPartId As Integer, sImportedFilePath As String)
m_nPartId = nPartId
m_sImportedFilePath = sImportedFilePath
m_sImportedFileName = IO.Path.GetFileName(m_sImportedFilePath)
End Sub
Sub New(nPartId As Integer, nPrintSolidLayerId As Integer, nPrintSolidId As Integer, nOriginalPartLayerId As Integer, nReferenceLayerId As Integer, nReferenceId As Integer, nMachStartLayerId As Integer,
nRibsLayerId As Integer, nShellNumberLayerId As Integer, nAuxSolidsLayerId As Integer, sImportedFilePath As String)
nRibsLayerId As Integer, nShellNumberLayerId As Integer, nAuxSolidsLayerId As Integer, nOthersLayerId As Integer, sImportedFilePath As String)
m_nPartId = nPartId
m_nPrintSolidLayerId = nPrintSolidLayerId
m_nPrintSolidId = nPrintSolidId
@@ -127,6 +133,7 @@ Public Class Print3dPartVM
m_nAuxSolidsLayerId = nAuxSolidsLayerId
m_nRibsLayerId = nRibsLayerId
m_nShellNumberLayerId = nShellNumberLayerId
m_nOthersLayerId = nOthersLayerId
m_sImportedFilePath = sImportedFilePath
RefreshPrintLayers()
End Sub