Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 12081cec28 | |||
| 27a54b0034 | |||
| c1aee47e53 | |||
| e59d50923b | |||
| e5fca60809 | |||
| f7631e5201 | |||
| 4604ae3558 | |||
| 624eb0566f | |||
| f45efb2310 | |||
| c32bfd55d0 | |||
| db65ef9e15 | |||
| d2a6a27200 | |||
| 6bad0e177f |
@@ -3,6 +3,7 @@
|
||||
Public Const TABLE = "Table"
|
||||
Public Const TABLE_OUTLINE = "TableOutline"
|
||||
Public Const EXTRUSION_AREA = "ExtrusionArea"
|
||||
Public Const EXTRUSION_RECT = "ExtrusionRect"
|
||||
Public Const PART = "Part"
|
||||
Public Const PRINT_SOLID = "PrintSolid"
|
||||
Public Const LAY_MACH_START = "MachStart"
|
||||
@@ -108,6 +109,7 @@
|
||||
Public Const MAC_PREFLOWDELAY = "PreFlowDelay"
|
||||
Public Const MAC_POSTFLOWDELAY = "PostFlowDelay"
|
||||
Public Const MAC_SCREWBACK = "ScrewBack"
|
||||
Public Const MAC_SLICINGHEIGHT = "SlicingHeight"
|
||||
Public Const MAC_RIBSTYPE = "RibsType"
|
||||
Public Const MAC_RIBSOVERLAP = "RibsOverlap"
|
||||
Public Const MAC_RIBSSTRANDCOUNT = "RibsStrandCount"
|
||||
@@ -129,6 +131,8 @@
|
||||
Public Const MAC_SHELLNBRWIPEDIR = "ShellNbrWipeDir"
|
||||
Public Const MAC_AUXSOLIDSOVERLAP = "AuxSolidsOverlap"
|
||||
Public Const MAC_AUXSOLIDSINFILL = "AuxSolidsInfill"
|
||||
Public Const MAC_AUXSOLIDSINFILLLINK = "AuxSolidsInfillLink"
|
||||
Public Const MAC_AUXSOLIDSSTRANDCOUNT = "AuxSolidsStrandCount"
|
||||
Public Const MAC_AUXSOLIDSSTRANDORDER = "AuxSolidsStrandOrder"
|
||||
Public Const MAC_AUXSOLIDSLINKTYPE = "AuxSolidsLinkType"
|
||||
Public Const MAC_AUXSOLIDSLINKPARAM = "AuxSolidsLinkParam"
|
||||
@@ -146,6 +150,7 @@
|
||||
Public Const MAC_CEILCOUNT = "CeilCount"
|
||||
Public Const MAC_CEILTYPE = "CeilType"
|
||||
Public Const MAC_INFILLTYPE = "InfillType"
|
||||
Public Const MAC_INFILLLINK = "InfillLink"
|
||||
Public Const MAC_INFILLDENSITY = "InfillDensity"
|
||||
Public Const MAC_INFILLOVERLAP = "InfillOverlap"
|
||||
Public Const MAC_INFILLGRIDOVERLAP = "InfillGridOverlap"
|
||||
|
||||
@@ -53,6 +53,7 @@ Public Module ConstGen
|
||||
' Abilitazioni licenza
|
||||
Friend Enum KEY_OPT As UInteger
|
||||
BASE = 1 ' Prodotto Icarus
|
||||
MACHINE_EXPORT = 2 ' opzione per esportare file icrx per macchina
|
||||
End Enum
|
||||
|
||||
' File di log generale
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
Public Const K_SLICINGTYPE As String = "SlicingType"
|
||||
Public Const K_SPEED_MIN As String = "SpeedMin"
|
||||
Public Const K_SPEED_MAX As String = "SpeedMax"
|
||||
Public Const K_MAX_HEIGHT As String = "HMax"
|
||||
|
||||
Public Const S_MINMAX As String = "MinMax"
|
||||
|
||||
|
||||
@@ -220,7 +220,8 @@ Public Class CurrMachiningCathegory
|
||||
New CurrOrderedMachiningParam(MachiningParam.Params.PRINT_ORDER, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.PREFLOWDELAY, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.POSTFLOWDELAY, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.SCREWBACK, nPartId, nIndex, bForceFromDb, Me)})
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.SCREWBACK, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.SLICINGHEIGHT, nPartId, nIndex, bForceFromDb, Me)})
|
||||
Case Cathegories.LINK
|
||||
m_sName = "Shell"
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New CurrComboMachiningParam(MachiningParam.Params.LINKTYPE, nPartId, nIndex, bForceFromDb, Me),
|
||||
@@ -263,6 +264,8 @@ Public Class CurrMachiningCathegory
|
||||
Case Cathegories.AUX_SOLID
|
||||
m_sName = "Filled Solid"
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New CurrComboMachiningParam(MachiningParam.Params.AUXSOLIDSINFILL, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.AUXSOLIDSINFILLLINK, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDCOUNT, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDORDER, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.AUXSOLIDSLINKTYPE, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.AUXSOLIDSLINKPARAM, nPartId, nIndex, bForceFromDb, Me),
|
||||
@@ -284,6 +287,7 @@ Public Class CurrMachiningCathegory
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.CEILCOUNT, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.CEILTYPE, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrComboMachiningParam(MachiningParam.Params.INFILLTYPE, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrCheckMachiningParam(MachiningParam.Params.INFILLLINK, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.INFILLDENSITY, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.INFILLGRIDOVERLAP, nPartId, nIndex, bForceFromDb, Me),
|
||||
New CurrNumericMachiningParam(MachiningParam.Params.INFILLDIRECTION, nPartId, nIndex, bForceFromDb, Me),
|
||||
@@ -311,6 +315,10 @@ Public Class CurrMachiningCathegory
|
||||
Dim MachiningParam As ComboMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param)
|
||||
MachiningParam.ManageDependencyParam()
|
||||
Next
|
||||
For Each Param In {MachiningParam.Params.AUXSOLIDSSTRANDCOUNT}
|
||||
Dim MachiningParam As NumericMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param)
|
||||
MachiningParam.ManageDependencyParam()
|
||||
Next
|
||||
Case Cathegories.INFILL
|
||||
For Each Param In {MachiningParam.Params.FLOORCOUNT, MachiningParam.Params.CEILCOUNT}
|
||||
Dim MachiningParam As NumericMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param)
|
||||
@@ -459,6 +467,9 @@ Public Class CurrNumericMachiningParam
|
||||
Case Params.SCREWBACK
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_SCREWBACK, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.SLICINGHEIGHT
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_SLICINGHEIGHT, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.RIBSOVERLAP
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSOVERLAP, m_dValue)
|
||||
m_bIsLen = False
|
||||
@@ -498,6 +509,9 @@ Public Class CurrNumericMachiningParam
|
||||
Case Params.AUXSOLIDSLINKPARAM
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSLINKPARAM, m_dValue)
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSSTRANDCOUNT
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSSTRANDCOUNT, m_dValue)
|
||||
m_bIsLen = False
|
||||
Case Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSSTARTPOINTOFFSETONSLICE, m_dValue)
|
||||
m_bIsLen = True
|
||||
@@ -567,7 +581,7 @@ Public Class CurrNumericMachiningParam
|
||||
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.STRANDOVERLAP, Params.STARTPOINTOFFSETONSLICE,
|
||||
Params.G0FEED, Params.G0FEEDZ, Params.LINKZUP, Params.TOOLDIAM, Params.FLOWRATE_PC, Params.PREFLOWDELAY, Params.POSTFLOWDELAY, Params.SCREWBACK
|
||||
Params.G0FEED, Params.G0FEEDZ, Params.LINKZUP, Params.TOOLDIAM, Params.FLOWRATE_PC, Params.PREFLOWDELAY, Params.POSTFLOWDELAY, Params.SCREWBACK, Params.SLICINGHEIGHT
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
Case Params.LINKPARAM, Params.OFFSETLEADPOINT, Params.LEADINTANGDIST, Params.LEADINORTHODIST,
|
||||
Params.LEADOUTTANGDIST, Params.LEADOUTORTHODIST, Params.COASTINGLEN, Params.COASTINGFEED_PC,
|
||||
@@ -582,7 +596,7 @@ Public Class CurrNumericMachiningParam
|
||||
Case Params.AUXSOLIDSOVERLAP, Params.AUXSOLIDSLINKPARAM, Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE,
|
||||
Params.AUXSOLIDSOFFSETLEADPOINT, Params.AUXSOLIDSDENSITY, Params.AUXSOLIDSGRIDOVERLAP,
|
||||
Params.AUXSOLIDSDIRECTION, Params.AUXSOLIDSOFFSETX, Params.AUXSOLIDSOFFSETY,
|
||||
Params.AUXSOLIDSCOASTINGLEN, Params.AUXSOLIDSWIPELEN, Params.AUXSOLIDSWIPEDIR
|
||||
Params.AUXSOLIDSCOASTINGLEN, Params.AUXSOLIDSWIPELEN, Params.AUXSOLIDSWIPEDIR, Params.AUXSOLIDSSTRANDCOUNT
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.AUX_SOLID).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
Case Params.FLOORCOUNT, Params.CEILCOUNT, Params.INFILLDENSITY, Params.INFILLOVERLAP,
|
||||
Params.INFILLGRIDOVERLAP, Params.INFILLDIRECTION, Params.INFILLOFFSETX,
|
||||
@@ -660,6 +674,8 @@ Public Class CurrNumericMachiningParam
|
||||
EgtSetInfo(nPartId, MAC_POSTFLOWDELAY, sWriteValue)
|
||||
Case Params.SCREWBACK
|
||||
EgtSetInfo(nPartId, MAC_SCREWBACK, sWriteValue)
|
||||
Case Params.SLICINGHEIGHT
|
||||
EgtSetInfo(nPartId, MAC_SLICINGHEIGHT, sWriteValue)
|
||||
Case Params.RIBSOVERLAP
|
||||
EgtSetInfo(nPartId, MAC_RIBSOVERLAP, sWriteValue)
|
||||
Case Params.RIBSSTRANDCOUNT
|
||||
@@ -682,6 +698,8 @@ Public Class CurrNumericMachiningParam
|
||||
EgtSetInfo(nPartId, MAC_SHELLNBRWIPE, sWriteValue)
|
||||
Case Params.SHELLNBRWIPEDIR
|
||||
EgtSetInfo(nPartId, MAC_SHELLNBRWIPEDIR, sWriteValue)
|
||||
Case Params.AUXSOLIDSSTRANDCOUNT
|
||||
EgtSetInfo(nPartId, MAC_AUXSOLIDSSTRANDCOUNT, sWriteValue)
|
||||
Case Params.AUXSOLIDSOVERLAP
|
||||
EgtSetInfo(nPartId, MAC_AUXSOLIDSOVERLAP, sWriteValue)
|
||||
Case Params.AUXSOLIDSLINKPARAM
|
||||
@@ -1130,6 +1148,10 @@ Public Class CurrCheckMachiningParam
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADOUTINVERT, m_bValue)
|
||||
Case Params.RIBSLIMITUNBOUNDEDWITHSOLID
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLIMITUNBOUNDEDWITHSOLID, m_bValue)
|
||||
Case Params.AUXSOLIDSINFILLLINK
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSINFILLLINK, m_bValue)
|
||||
Case Params.INFILLLINK
|
||||
bReadFromPart = EgtGetInfo(nPartId, MAC_INFILLLINK, m_bValue)
|
||||
End Select
|
||||
m_bOrigValue = m_bValue
|
||||
If nIndex > 0 Then
|
||||
@@ -1139,6 +1161,10 @@ Public Class CurrCheckMachiningParam
|
||||
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.RIBSINVERTSTRANDORDER, Params.RIBSLEADININVERT, Params.RIBSLEADOUTINVERT, Params.RIBSLIMITUNBOUNDEDWITHSOLID
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.RIBS).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
Case Params.AUXSOLIDSINFILLLINK
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.AUX_SOLID).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
Case Params.INFILLLINK
|
||||
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.INFILL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
|
||||
End Select
|
||||
If bForceFromDb OrElse Not bReadFromPart Then
|
||||
m_bValue = m_DbParam.bOrigValue
|
||||
@@ -1165,6 +1191,10 @@ Public Class CurrCheckMachiningParam
|
||||
EgtSetInfo(nPartId, MAC_RIBSLEADOUTINVERT, If(m_bValue, 1, 0))
|
||||
Case Params.RIBSLIMITUNBOUNDEDWITHSOLID
|
||||
EgtSetInfo(nPartId, MAC_RIBSLIMITUNBOUNDEDWITHSOLID, If(m_bValue, 1, 0))
|
||||
Case Params.AUXSOLIDSINFILLLINK
|
||||
EgtSetInfo(nPartId, MAC_AUXSOLIDSINFILLLINK, If(m_bValue, 1, 0))
|
||||
Case Params.INFILLLINK
|
||||
EgtSetInfo(nPartId, MAC_INFILLLINK, If(m_bValue, 1, 0))
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -54,9 +54,16 @@
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="{Binding sName, Mode=OneWay}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<TextBlock Text=" (BETA)"
|
||||
Margin="0,0,2.5,0"
|
||||
Foreground="Red"
|
||||
Visibility="{Binding IsBeta_Visibility}"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
</StackPanel>
|
||||
<EgtWPFLib5:EgtTextBox2 Grid.Column="1"
|
||||
Text="{Binding sValue, UpdateSourceTrigger=Explicit}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
@@ -79,9 +86,16 @@
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="{Binding sName, Mode=OneWay}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<TextBlock Text=" (BETA)"
|
||||
Margin="0,0,2.5,0"
|
||||
Foreground="Red"
|
||||
Visibility="{Binding IsBeta_Visibility}"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
</StackPanel>
|
||||
<ComboBox Grid.Column="1"
|
||||
ItemsSource="{Binding ValueList}"
|
||||
SelectedItem="{Binding SelValue}"
|
||||
@@ -107,9 +121,16 @@
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="{Binding sName, Mode=OneWay}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<TextBlock Text=" (BETA)"
|
||||
Margin="0,0,2.5,0"
|
||||
Foreground="Red"
|
||||
Visibility="{Binding IsBeta_Visibility}"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
</StackPanel>
|
||||
<CheckBox Grid.Column="1"
|
||||
IsChecked="{Binding bValue}"
|
||||
HorizontalAlignment="Center"
|
||||
|
||||
@@ -84,6 +84,32 @@
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type PrintApp:CheckMachiningParam}">
|
||||
<Grid Margin="0,1,2.5,1"
|
||||
IsEnabled="{Binding bIsActive}">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<CheckBox Grid.Column="1"
|
||||
IsChecked="{Binding bValue}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="2.5,0,0,0"/>
|
||||
<Button Grid.Column="2"
|
||||
Content="R"
|
||||
Command="{Binding ResetParam_Command}"
|
||||
IsEnabled="{Binding bIsModifiedFromPart}"
|
||||
VerticalContentAlignment="Center"
|
||||
HorizontalContentAlignment="Center"
|
||||
Margin="2.5,0,0,0"
|
||||
Style="{StaticResource ToolBar_SmallButton}"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ItemsControl.Resources>
|
||||
</ItemsControl>
|
||||
</ScrollViewer>
|
||||
|
||||
@@ -43,6 +43,8 @@ Public Class FilledSolidParamPanelVM
|
||||
m_Type = Cathegories.AUX_SOLID
|
||||
m_sName = "Filled Solid"
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New FilledSolidComboMachiningParam(MachiningParam.Params.AUXSOLIDSINFILL, nFilledSolidId, nPartId, Me),
|
||||
New FilledSolidcheckMachiningParam(MachiningParam.Params.AUXSOLIDSINFILLLINK, nFilledSolidId, nPartId, Me),
|
||||
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDCOUNT, nFilledSolidId, nPartId, Me),
|
||||
New FilledSolidComboMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDORDER, nFilledSolidId, nPartId, Me),
|
||||
New FilledSolidComboMachiningParam(MachiningParam.Params.AUXSOLIDSLINKTYPE, nFilledSolidId, nPartId, Me),
|
||||
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSLINKPARAM, nFilledSolidId, nPartId, Me),
|
||||
@@ -196,6 +198,10 @@ Public Class FilledSolidNumericMachiningParam
|
||||
MyBase.New(Type, Cathegory)
|
||||
Dim bReadFromPart As Boolean = False
|
||||
Select Case Type
|
||||
Case Params.AUXSOLIDSSTRANDCOUNT
|
||||
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSSTRANDCOUNT, m_dValue)
|
||||
EgtGetInfo(nPartId, MAC_AUXSOLIDSSTRANDCOUNT, m_dPartValue)
|
||||
m_bIsLen = True
|
||||
Case Params.AUXSOLIDSOVERLAP
|
||||
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSOVERLAP, m_dValue)
|
||||
EgtGetInfo(nPartId, MAC_AUXSOLIDSOVERLAP, m_dPartValue)
|
||||
@@ -260,6 +266,12 @@ Public Class FilledSolidNumericMachiningParam
|
||||
sWriteValue = DoubleToString(m_dValue, 2)
|
||||
End If
|
||||
Select Case Type
|
||||
Case Params.AUXSOLIDSSTRANDCOUNT
|
||||
If bIsModifiedFromPart Then
|
||||
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSSTRANDCOUNT, sWriteValue)
|
||||
Else
|
||||
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSSTRANDCOUNT)
|
||||
End If
|
||||
Case Params.AUXSOLIDSOVERLAP
|
||||
If bIsModifiedFromPart Then
|
||||
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSOVERLAP, sWriteValue)
|
||||
@@ -518,4 +530,95 @@ Public Class FilledSolidComboMachiningParam
|
||||
#End Region ' COMMANDS
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
Public Class FilledSolidCheckMachiningParam
|
||||
Inherits CheckMachiningParam
|
||||
|
||||
Public Overrides Property bValue As Boolean
|
||||
Get
|
||||
Return m_bValue
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_bValue = value
|
||||
NotifyPropertyChanged(NameOf(bValue))
|
||||
NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Protected m_bPartValue As Boolean
|
||||
Public ReadOnly Property bPartValue As Boolean
|
||||
Get
|
||||
Return m_bPartValue
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property bIsModifiedFromPart As Boolean
|
||||
Get
|
||||
Return m_bValue <> m_bPartValue
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdResetParam As ICommand
|
||||
|
||||
Sub New(Type As Params, nAuxSolidId As Integer, nPartId As Integer, Cathegory As MachiningCathegory)
|
||||
MyBase.New(Type, Cathegory)
|
||||
Dim bReadFromPart As Boolean = False
|
||||
Select Case Type
|
||||
Case Params.AUXSOLIDSINFILLLINK
|
||||
bReadFromPart = EgtGetInfo(nAuxSolidId, MAC_AUXSOLIDSINFILLLINK, m_bValue)
|
||||
EgtGetInfo(nPartId, MAC_AUXSOLIDSINFILLLINK, m_bPartValue)
|
||||
End Select
|
||||
m_bOrigValue = m_bValue
|
||||
If Not bReadFromPart Then
|
||||
m_bValue = m_bPartValue
|
||||
m_bOrigValue = m_bPartValue
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Friend Sub WriteParamInRib(nAuxSolidId As Integer)
|
||||
Select Case Type
|
||||
Case Params.AUXSOLIDSINFILLLINK
|
||||
If bIsModifiedFromPart Then
|
||||
EgtSetInfo(nAuxSolidId, MAC_AUXSOLIDSINFILLLINK, If(m_bValue, 1, 0))
|
||||
Else
|
||||
EgtRemoveInfo(nAuxSolidId, MAC_AUXSOLIDSINFILLLINK)
|
||||
End If
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub SaveParam()
|
||||
m_bOrigValue = m_bValue
|
||||
End Sub
|
||||
|
||||
Friend Overrides Sub ResetParam()
|
||||
m_bValue = m_bOrigValue
|
||||
NotifyPropertyChanged(NameOf(bValue))
|
||||
End Sub
|
||||
|
||||
#Region "COMMANDS"
|
||||
|
||||
#Region "ResetParam"
|
||||
|
||||
Public ReadOnly Property ResetParam_Command As ICommand
|
||||
Get
|
||||
If m_cmdResetParam Is Nothing Then
|
||||
m_cmdResetParam = New Command(AddressOf ResetParamCmd)
|
||||
End If
|
||||
Return m_cmdResetParam
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub ResetParamCmd()
|
||||
m_bValue = m_bPartValue
|
||||
NotifyPropertyChanged(NameOf(bValue))
|
||||
NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
|
||||
End Sub
|
||||
|
||||
#End Region ' ResetParam
|
||||
|
||||
#End Region ' COMMANDS
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
@@ -87,6 +87,9 @@
|
||||
<Reference Include="Ionic.Zip, Version=1.9.1.8, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Ionic.Zip.1.9.1.8\lib\Ionic.Zip.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="PresentationFramework.Aero2" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
@@ -320,6 +323,7 @@
|
||||
<Compile Include="Utility\DisableModifiedMgr.vb" />
|
||||
<Compile Include="Utility\EgwCrypto.vb" />
|
||||
<Compile Include="Utility\GeomEntityColors.vb" />
|
||||
<Compile Include="Utility\JsonUtility.vb" />
|
||||
<Compile Include="Utility\LuaExec.vb" />
|
||||
<Compile Include="Utility\Map.vb" />
|
||||
<Compile Include="Utility\MyMachine.vb" />
|
||||
|
||||
@@ -342,7 +342,8 @@ Public Class MachiningCathegory
|
||||
New OrderedMachiningParam(MachiningParam.Params.PRINT_ORDER, nIndex, Me),
|
||||
New NumericMachiningParam(MachiningParam.Params.PREFLOWDELAY, nIndex, Me),
|
||||
New NumericMachiningParam(MachiningParam.Params.POSTFLOWDELAY, nIndex, Me),
|
||||
New NumericMachiningParam(MachiningParam.Params.SCREWBACK, nIndex, Me)})
|
||||
New NumericMachiningParam(MachiningParam.Params.SCREWBACK, nIndex, Me),
|
||||
New NumericMachiningParam(MachiningParam.Params.SLICINGHEIGHT, nIndex, Me)})
|
||||
Case Cathegories.LINK
|
||||
m_sName = "Shell"
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New NumericMachiningParam(MachiningParam.Params.OFFSETLEADPOINT, nIndex, Me),
|
||||
@@ -385,6 +386,8 @@ Public Class MachiningCathegory
|
||||
Case Cathegories.AUX_SOLID
|
||||
m_sName = "Filled Solid"
|
||||
m_MachiningParamList = New List(Of MachiningParam)({New ComboMachiningParam(MachiningParam.Params.AUXSOLIDSINFILL, nIndex, Me),
|
||||
New CheckMachiningParam(MachiningParam.Params.AUXSOLIDSINFILLLINK, nIndex, Me),
|
||||
New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDCOUNT, nIndex, Me),
|
||||
New ComboMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDORDER, nIndex, Me),
|
||||
New ComboMachiningParam(MachiningParam.Params.AUXSOLIDSLINKTYPE, nIndex, Me),
|
||||
New NumericMachiningParam(MachiningParam.Params.AUXSOLIDSLINKPARAM, nIndex, Me),
|
||||
@@ -406,6 +409,7 @@ Public Class MachiningCathegory
|
||||
New NumericMachiningParam(MachiningParam.Params.CEILCOUNT, nIndex, Me),
|
||||
New ComboMachiningParam(MachiningParam.Params.CEILTYPE, nIndex, Me),
|
||||
New ComboMachiningParam(MachiningParam.Params.INFILLTYPE, nIndex, Me),
|
||||
New CheckMachiningParam(MachiningParam.Params.INFILLLINK, nIndex, Me),
|
||||
New NumericMachiningParam(MachiningParam.Params.INFILLDENSITY, nIndex, Me),
|
||||
New NumericMachiningParam(MachiningParam.Params.INFILLGRIDOVERLAP, nIndex, Me),
|
||||
New NumericMachiningParam(MachiningParam.Params.INFILLDIRECTION, nIndex, Me),
|
||||
@@ -442,6 +446,10 @@ Public Class MachiningCathegory
|
||||
Dim MachiningParam As ComboMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param)
|
||||
MachiningParam.ManageDependencyParam()
|
||||
Next
|
||||
For Each Param In {MachiningParam.Params.AUXSOLIDSSTRANDCOUNT}
|
||||
Dim MachiningParam As NumericMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param)
|
||||
MachiningParam.ManageDependencyParam()
|
||||
Next
|
||||
Case Cathegories.INFILL
|
||||
For Each Param In {MachiningParam.Params.FLOORCOUNT, MachiningParam.Params.CEILCOUNT}
|
||||
Dim MachiningParam As NumericMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param)
|
||||
@@ -501,6 +509,7 @@ Public MustInherit Class MachiningParam
|
||||
PREFLOWDELAY = 19
|
||||
POSTFLOWDELAY = 20
|
||||
SCREWBACK = 21
|
||||
SLICINGHEIGHT = 22
|
||||
LINKTYPE = 51
|
||||
LINKPARAM = 52
|
||||
LEADIN = 53
|
||||
@@ -549,20 +558,23 @@ Public MustInherit Class MachiningParam
|
||||
AUXSOLIDSCOASTINGLEN = 213
|
||||
AUXSOLIDSWIPELEN = 214
|
||||
AUXSOLIDSWIPEDIR = 215
|
||||
AUXSOLIDSSTRANDCOUNT = 216
|
||||
AUXSOLIDSINFILLLINK = 217
|
||||
FLOORCOUNT = 250
|
||||
FLOORTYPE = 251
|
||||
CEILCOUNT = 252
|
||||
CEILTYPE = 253
|
||||
INFILLTYPE = 254
|
||||
INFILLDENSITY = 255
|
||||
INFILLOVERLAP = 256
|
||||
INFILLGRIDOVERLAP = 257
|
||||
INFILLDIRECTION = 258
|
||||
INFILLOFFSETX = 259
|
||||
INFILLOFFSETY = 260
|
||||
INFILLCOASTING = 261
|
||||
INFILLWIPE = 262
|
||||
INFILLWIPEDIR = 263
|
||||
INFILLLINK = 255
|
||||
INFILLDENSITY = 256
|
||||
INFILLOVERLAP = 257
|
||||
INFILLGRIDOVERLAP = 258
|
||||
INFILLDIRECTION = 259
|
||||
INFILLOFFSETX = 260
|
||||
INFILLOFFSETY = 261
|
||||
INFILLCOASTING = 262
|
||||
INFILLWIPE = 263
|
||||
INFILLWIPEDIR = 264
|
||||
MATERIALS = 500
|
||||
End Enum
|
||||
|
||||
@@ -589,12 +601,29 @@ Public MustInherit Class MachiningParam
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property bIsBeta As Boolean
|
||||
Get
|
||||
Select Case m_Type
|
||||
Case Params.FLOORCOUNT, Params.FLOORTYPE, Params.CEILCOUNT, Params.CEILTYPE, Params.INFILLTYPE
|
||||
Return True
|
||||
Case Else
|
||||
Return False
|
||||
End Select
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property IsBeta_Visibility As Visibility
|
||||
Get
|
||||
Return If(bIsBeta, Visibility.Visible, Visibility.Collapsed)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Sub New(Type As Params, Cathegory As MachiningCathegory)
|
||||
m_Type = Type
|
||||
m_Cathegory = Cathegory
|
||||
Select Case m_Type
|
||||
Case Params.SLICINGTYPE
|
||||
m_sName = "Slicing direction"
|
||||
m_sName = "Slicing Direction"
|
||||
Case Params.STRANDH
|
||||
m_sName = "Strand Height"
|
||||
Case Params.STRANDW
|
||||
@@ -651,6 +680,8 @@ Public MustInherit Class MachiningParam
|
||||
m_sName = "Post Flow Delay"
|
||||
Case Params.SCREWBACK
|
||||
m_sName = "Screw Back"
|
||||
Case Params.SLICINGHEIGHT
|
||||
m_sName = "Slicing Height"
|
||||
Case Params.RIBSTYPE
|
||||
m_sName = "Type"
|
||||
Case Params.RIBSOVERLAP
|
||||
@@ -693,6 +724,10 @@ Public MustInherit Class MachiningParam
|
||||
m_sName = "Overlap [%]"
|
||||
Case Params.AUXSOLIDSINFILL
|
||||
m_sName = "Infill"
|
||||
Case Params.AUXSOLIDSINFILLLINK
|
||||
m_sName = "Infill Link"
|
||||
Case Params.AUXSOLIDSSTRANDCOUNT
|
||||
m_sName = "Strand Count"
|
||||
Case Params.AUXSOLIDSSTRANDORDER
|
||||
m_sName = "Strand Order"
|
||||
Case Params.AUXSOLIDSLINKTYPE
|
||||
@@ -726,7 +761,7 @@ Public MustInherit Class MachiningParam
|
||||
Case Params.STRANDOVERLAP
|
||||
m_sName = "Strand Overlap [%]"
|
||||
Case Params.FLOWRATE_PC
|
||||
m_sName = "Flow rate [%]"
|
||||
m_sName = "Flow Rate [%]"
|
||||
Case Params.DYNAMIC_MODE
|
||||
m_sName = "Dynamic Mode"
|
||||
Case Params.PRINT_ORDER
|
||||
@@ -739,6 +774,8 @@ Public MustInherit Class MachiningParam
|
||||
m_sName = "Ceil Type"
|
||||
Case Params.INFILLTYPE
|
||||
m_sName = "Infill Type"
|
||||
Case Params.INFILLLINK
|
||||
m_sName = "Link"
|
||||
Case Params.INFILLDENSITY
|
||||
m_sName = "Density [%]"
|
||||
Case Params.INFILLOVERLAP
|
||||
@@ -854,6 +891,11 @@ Public Class NumericMachiningParam
|
||||
m_bIsActiveMinMax = True
|
||||
End If
|
||||
End If
|
||||
If Type = Params.SLICINGHEIGHT Then
|
||||
m_dMinValue = 0
|
||||
m_dMaxValue = CurrentMachine.dSlicingMaxHeight
|
||||
m_bIsActiveMinMax = True
|
||||
End If
|
||||
' leggo parametri da Db
|
||||
If nIndex = 0 Then
|
||||
m_dValue = 0
|
||||
@@ -935,6 +977,9 @@ Public Class NumericMachiningParam
|
||||
Case Params.SCREWBACK
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_SCREWBACK, 45)
|
||||
m_bIsLen = False
|
||||
Case Params.SLICINGHEIGHT
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_SLICINGHEIGHT, CurrentMachine.dSlicingMaxHeight)
|
||||
m_bIsLen = False
|
||||
Case Params.RIBSOVERLAP
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_RIBSOVERLAP, 0)
|
||||
m_bIsLen = False
|
||||
@@ -968,6 +1013,9 @@ Public Class NumericMachiningParam
|
||||
Case Params.SHELLNBRWIPEDIR
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_SHELLNBRWIPEDIR, 0)
|
||||
m_bIsLen = False
|
||||
Case Params.AUXSOLIDSSTRANDCOUNT
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSSTRANDCOUNT, 0)
|
||||
m_bIsLen = False
|
||||
Case Params.AUXSOLIDSOVERLAP
|
||||
m_dValue = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSOVERLAP, 0)
|
||||
m_bIsLen = False
|
||||
@@ -1051,6 +1099,18 @@ Public Class NumericMachiningParam
|
||||
Case Params.CEILCOUNT
|
||||
Dim ComboMachiningParam As ComboMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.CEILTYPE)
|
||||
ComboMachiningParam.SetIsActive(m_dValue <> 0)
|
||||
Case Params.AUXSOLIDSSTRANDCOUNT
|
||||
Dim AuxSolidsInfillParam As ComboMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSINFILL)
|
||||
Dim ComboMachiningParam As ComboMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSSTRANDORDER)
|
||||
ComboMachiningParam.SetIsActive(m_dValue > 0 OrElse AuxSolidsInfillParam.SelValue.Id = Machining.MPAR_INFILL_TYPE.OFFSET)
|
||||
ComboMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSLINKTYPE)
|
||||
ComboMachiningParam.SetIsActive(m_dValue > 0 OrElse AuxSolidsInfillParam.SelValue.Id = Machining.MPAR_INFILL_TYPE.OFFSET)
|
||||
Dim NumericMachiningParam As NumericMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSLINKPARAM)
|
||||
NumericMachiningParam.SetIsActive(m_dValue > 0 OrElse AuxSolidsInfillParam.SelValue.Id = Machining.MPAR_INFILL_TYPE.OFFSET)
|
||||
NumericMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE)
|
||||
NumericMachiningParam.SetIsActive(m_dValue > 0 OrElse AuxSolidsInfillParam.SelValue.Id = Machining.MPAR_INFILL_TYPE.OFFSET)
|
||||
NumericMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSOFFSETLEADPOINT)
|
||||
NumericMachiningParam.SetIsActive(m_dValue > 0 OrElse AuxSolidsInfillParam.SelValue.Id = Machining.MPAR_INFILL_TYPE.OFFSET)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -1112,6 +1172,8 @@ Public Class NumericMachiningParam
|
||||
WriteMachiningParam(nIndex, MAC_POSTFLOWDELAY, sWriteValue, sFilePath)
|
||||
Case Params.SCREWBACK
|
||||
WriteMachiningParam(nIndex, MAC_SCREWBACK, sWriteValue, sFilePath)
|
||||
Case Params.SLICINGHEIGHT
|
||||
WriteMachiningParam(nIndex, MAC_SLICINGHEIGHT, sWriteValue, sFilePath)
|
||||
Case Params.RIBSOVERLAP
|
||||
WriteMachiningParam(nIndex, MAC_RIBSOVERLAP, sWriteValue, sFilePath)
|
||||
Case Params.RIBSSTRANDCOUNT
|
||||
@@ -1134,6 +1196,8 @@ Public Class NumericMachiningParam
|
||||
WriteMachiningParam(nIndex, MAC_SHELLNBRWIPE, sWriteValue, sFilePath)
|
||||
Case Params.SHELLNBRWIPEDIR
|
||||
WriteMachiningParam(nIndex, MAC_SHELLNBRWIPEDIR, sWriteValue, sFilePath)
|
||||
Case Params.AUXSOLIDSSTRANDCOUNT
|
||||
WriteMachiningParam(nIndex, MAC_AUXSOLIDSSTRANDCOUNT, sWriteValue, sFilePath)
|
||||
Case Params.AUXSOLIDSOVERLAP
|
||||
WriteMachiningParam(nIndex, MAC_AUXSOLIDSOVERLAP, sWriteValue, sFilePath)
|
||||
Case Params.AUXSOLIDSLINKPARAM
|
||||
@@ -1414,21 +1478,17 @@ Public Class ComboMachiningParam
|
||||
Dim CheckMachiningParam As CheckMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.RIBSLIMITUNBOUNDEDWITHSOLID)
|
||||
CheckMachiningParam.SetIsActive(m_SelValue.Id = MPAR_RIBSTYPE.UNBOUNDED)
|
||||
Case Params.AUXSOLIDSINFILL
|
||||
Dim AuxSolidsStrandCountParam As NumericMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSSTRANDCOUNT)
|
||||
Dim ComboMachiningParam As ComboMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSSTRANDORDER)
|
||||
ComboMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.LINES AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.GRID AndAlso
|
||||
m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG_GRID AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.HONEYCOMB AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.HONEYCOMB_GRID)
|
||||
ComboMachiningParam.SetIsActive(m_SelValue.Id = Machining.MPAR_INFILL_TYPE.OFFSET OrElse AuxSolidsStrandCountParam.dValue > 0)
|
||||
ComboMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSLINKTYPE)
|
||||
ComboMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.LINES AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.GRID AndAlso
|
||||
m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG_GRID AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.HONEYCOMB AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.HONEYCOMB_GRID)
|
||||
ComboMachiningParam.SetIsActive(m_SelValue.Id = Machining.MPAR_INFILL_TYPE.OFFSET OrElse AuxSolidsStrandCountParam.dValue > 0)
|
||||
Dim NumMachiningParam As NumericMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSLINKPARAM)
|
||||
NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.LINES AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.GRID AndAlso
|
||||
m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG_GRID AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.HONEYCOMB AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.HONEYCOMB_GRID)
|
||||
NumMachiningParam.SetIsActive(m_SelValue.Id = Machining.MPAR_INFILL_TYPE.OFFSET OrElse AuxSolidsStrandCountParam.dValue > 0)
|
||||
NumMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE)
|
||||
NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.LINES AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.GRID AndAlso
|
||||
m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG_GRID AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.HONEYCOMB AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.HONEYCOMB_GRID)
|
||||
NumMachiningParam.SetIsActive(m_SelValue.Id = Machining.MPAR_INFILL_TYPE.OFFSET OrElse AuxSolidsStrandCountParam.dValue > 0)
|
||||
NumMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSOFFSETLEADPOINT)
|
||||
NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.LINES AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.GRID AndAlso
|
||||
m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG_GRID AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.HONEYCOMB AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.HONEYCOMB_GRID)
|
||||
NumMachiningParam.SetIsActive(m_SelValue.Id = Machining.MPAR_INFILL_TYPE.OFFSET OrElse AuxSolidsStrandCountParam.dValue > 0)
|
||||
NumMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSDENSITY)
|
||||
NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.OFFSET)
|
||||
NumMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSGRIDOVERLAP)
|
||||
@@ -1440,6 +1500,8 @@ Public Class ComboMachiningParam
|
||||
NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.OFFSET)
|
||||
NumMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSOFFSETY)
|
||||
NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.OFFSET)
|
||||
Dim CheckMachiningParam As CheckMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.AUXSOLIDSINFILLLINK)
|
||||
CheckMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.ZIGZAG AndAlso m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.OFFSET)
|
||||
Case Params.INFILLTYPE
|
||||
Dim NumMachiningParam As NumericMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.INFILLDENSITY)
|
||||
NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE)
|
||||
@@ -1451,6 +1513,8 @@ Public Class ComboMachiningParam
|
||||
NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE)
|
||||
NumMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.INFILLOFFSETY)
|
||||
NumMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE)
|
||||
Dim CheckMachiningParam As CheckMachiningParam = m_Cathegory.MachiningParamList.FirstOrDefault(Function(z) z.Type = Params.INFILLLINK)
|
||||
CheckMachiningParam.SetIsActive(m_SelValue.Id <> Machining.MPAR_INFILL_TYPE.NONE)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -1562,6 +1626,10 @@ Public Class CheckMachiningParam
|
||||
m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLEADOUTINVERT, 0)
|
||||
Case Params.RIBSLIMITUNBOUNDEDWITHSOLID
|
||||
m_bValue = ReadMachiningParamDouble(nIndex, MAC_RIBSLIMITUNBOUNDEDWITHSOLID, 0)
|
||||
Case Params.AUXSOLIDSINFILLLINK
|
||||
m_bValue = ReadMachiningParamDouble(nIndex, MAC_AUXSOLIDSINFILLLINK, 0)
|
||||
Case Params.INFILLLINK
|
||||
m_bValue = ReadMachiningParamDouble(nIndex, MAC_INFILLLINK, 0)
|
||||
End Select
|
||||
End If
|
||||
m_bOrigValue = m_bValue
|
||||
@@ -1585,6 +1653,10 @@ Public Class CheckMachiningParam
|
||||
WriteMachiningParam(nIndex, MAC_RIBSLEADOUTINVERT, If(m_bValue, 1, 0), sFilePath)
|
||||
Case Params.RIBSLIMITUNBOUNDEDWITHSOLID
|
||||
WriteMachiningParam(nIndex, MAC_RIBSLIMITUNBOUNDEDWITHSOLID, If(m_bValue, 1, 0), sFilePath)
|
||||
Case Params.AUXSOLIDSINFILLLINK
|
||||
WriteMachiningParam(nIndex, MAC_AUXSOLIDSINFILLLINK, If(m_bValue, 1, 0), sFilePath)
|
||||
Case Params.INFILLLINK
|
||||
WriteMachiningParam(nIndex, MAC_INFILLLINK, If(m_bValue, 1, 0), sFilePath)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -140,9 +140,16 @@
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="{Binding sName, Mode=OneWay}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<TextBlock Text=" (BETA)"
|
||||
Margin="0,0,2.5,0"
|
||||
Foreground="Red"
|
||||
Visibility="{Binding IsBeta_Visibility}"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
</StackPanel>
|
||||
<EgtWPFLib5:EgtTextBox2 Grid.Column="1"
|
||||
Text="{Binding sValue, UpdateSourceTrigger=Explicit}"
|
||||
Margin="2.5,0,0,0"
|
||||
@@ -156,9 +163,16 @@
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="{Binding sName, Mode=OneWay}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<TextBlock Text=" (BETA)"
|
||||
Margin="0,0,2.5,0"
|
||||
Foreground="Red"
|
||||
Visibility="{Binding IsBeta_Visibility}"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
</StackPanel>
|
||||
<ComboBox Grid.Column="1"
|
||||
ItemsSource="{Binding ValueList}"
|
||||
SelectedItem="{Binding SelValue}"
|
||||
@@ -175,9 +189,16 @@
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding sName}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="{Binding sName, Mode=OneWay}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
<TextBlock Text=" (BETA)"
|
||||
Margin="0,0,2.5,0"
|
||||
Foreground="Red"
|
||||
Visibility="{Binding IsBeta_Visibility}"
|
||||
Style="{StaticResource ParameterList_TextBlock}"/>
|
||||
</StackPanel>
|
||||
<CheckBox Grid.Column="1"
|
||||
IsChecked="{Binding bValue}"
|
||||
HorizontalAlignment="Center"
|
||||
|
||||
@@ -191,8 +191,8 @@ Public Class MainWindowM
|
||||
EgtSetLockId( sLockId)
|
||||
End If
|
||||
' Recupero livello e opzioni della chiave
|
||||
Dim bKey As Boolean = EgtGetKeyLevel(5583, 2506, 1, m_nKeyLevel) And
|
||||
EgtGetKeyOptions(5583, 2506, 1, m_nKeyOptions)
|
||||
Dim bKey As Boolean = EgtGetKeyLevel(5583, 2508, 1, m_nKeyLevel) And
|
||||
EgtGetKeyOptions(5583, 2508, 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())
|
||||
|
||||
@@ -70,5 +70,5 @@ Imports System.Windows
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("2.5.6.1")>
|
||||
<Assembly: AssemblyFileVersion("2.5.6.1")>
|
||||
<Assembly: AssemblyVersion("2.5.8.1")>
|
||||
<Assembly: AssemblyFileVersion("2.5.8.1")>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
Imports System.IO
|
||||
Imports EgtWPFLib5
|
||||
Imports EgtUILib
|
||||
Imports Newtonsoft.Json
|
||||
|
||||
Public Class ProjManagerVM
|
||||
Inherits VMBase
|
||||
@@ -247,9 +248,37 @@ Public Class ProjManagerVM
|
||||
''' Execute the Save. This method is invoked by the SaveCommand.
|
||||
''' </summary>
|
||||
Public Sub Save()
|
||||
If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then
|
||||
CreateJson()
|
||||
End If
|
||||
Map.refSceneHostVM.SaveProject()
|
||||
End Sub
|
||||
|
||||
Private Function CreateJson() As Boolean
|
||||
' creo json
|
||||
Dim LayerList As New List(Of JsonLayer)
|
||||
For Each Layer In Map.refTFSEditorVM.LayerList
|
||||
LayerList.Add(Layer.ConvertToJsonLayer())
|
||||
Next
|
||||
Dim json As String = JsonConvert.SerializeObject(LayerList, Formatting.Indented)
|
||||
Dim sProjName As String = ""
|
||||
EgtGetCurrFilePath(sProjName)
|
||||
If Not String.IsNullOrWhiteSpace(sProjName) Then
|
||||
sProjName = Path.ChangeExtension(sProjName, ".json")
|
||||
If File.Exists(sProjName) Then
|
||||
Try
|
||||
File.Delete(sProjName)
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
End If
|
||||
Try
|
||||
File.AppendAllText(sProjName, json)
|
||||
Catch ex As Exception
|
||||
EgtOutLog("Json writing error!")
|
||||
End Try
|
||||
End If
|
||||
End Function
|
||||
|
||||
#End Region ' SaveCommand
|
||||
|
||||
#Region "SaveAsCommand"
|
||||
@@ -385,7 +414,7 @@ Public Class ProjManagerVM
|
||||
Map.refSceneHostVM.SaveProject()
|
||||
End If
|
||||
EgtGetCurrFilePath(sCurrProject)
|
||||
' se modificato, chiedo se si vuole salvare
|
||||
' se modificato, chiedo se si vuole salvare
|
||||
Else
|
||||
If EgtGetModified() Then
|
||||
If MessageBox.Show(EgtMsg(MSG_TOPCOMMANDBAR + 11), "", MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
|
||||
|
||||
@@ -682,6 +682,26 @@ Public Class MySceneHostVM
|
||||
Return MainController.ExportProject(SaveFileDialog.FileName, False)
|
||||
End Function
|
||||
|
||||
Public Function ExportProjectForMachine(sFilePath As String) As Boolean
|
||||
' Reset controller e scena
|
||||
MainController.ResetStatus()
|
||||
MainController.SetDefaultFilterForExport(EEX_FLT.MODE_HIDDEN + EEX_FLT.MODE_STD + EEX_FLT.STAT_ON + EEX_FLT.STAT_OFF + EEX_FLT.LEV_TEMP)
|
||||
Return MainController.ExportGeomId(Map.refTopPanelVM.SelPart.nPartId, sFilePath, False)
|
||||
End Function
|
||||
Public Function ExportProjectForMachine(sDirPath As String, b3dm As Boolean, ByRef sFilePath As String) As Boolean
|
||||
sFilePath = sDirPath & "\ProjectSlice" & If(b3dm, ".3dm", ".3mf")
|
||||
' Reset controller e scena
|
||||
MainController.ResetStatus()
|
||||
MainController.SetDefaultFilterForExport(EEX_FLT.MODE_HIDDEN + EEX_FLT.MODE_STD + EEX_FLT.STAT_ON + EEX_FLT.STAT_OFF + EEX_FLT.LEV_TEMP)
|
||||
Dim nExportGeomId As Integer = 0
|
||||
If b3dm Then
|
||||
If Not ExecPrepare3dmExport(nExportGeomId) Then Return False
|
||||
Else
|
||||
nExportGeomId = Map.refTopPanelVM.SelPart.nPartId
|
||||
End If
|
||||
Return MainController.ExportGeomId(nExportGeomId, sFilePath, False)
|
||||
End Function
|
||||
|
||||
Public Overrides Function ExecScript(sFilePath As String) As Boolean
|
||||
Dim bOk As Boolean = False
|
||||
If String.IsNullOrEmpty(sFilePath) Then
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
Imports EgtUILib
|
||||
Imports Microsoft.Win32
|
||||
Imports System.IO
|
||||
Imports Ionic.Zip
|
||||
Imports Newtonsoft.Json
|
||||
|
||||
Public Class SliceManagerVM
|
||||
Inherits VMBase
|
||||
@@ -705,17 +707,34 @@ Public Class SliceManagerVM
|
||||
End If
|
||||
End If
|
||||
' eseguo calcoli
|
||||
CalcSlice(True, True)
|
||||
Dim bOk As Boolean = CalcSlice(True, True)
|
||||
' se non ho interrotto calcoli
|
||||
If Not m_bStopScriptToManage Then
|
||||
If bShiftPressed Then
|
||||
' Se esiste ne lancio l'editing
|
||||
If File.Exists(sIsoFilePath) Then
|
||||
If bOk AndAlso Not m_bStopScriptToManage Then
|
||||
' Se esiste l'iso
|
||||
If File.Exists(sIsoFilePath) Then
|
||||
If bShiftPressed Then
|
||||
' Se esiste ne lancio l'editing
|
||||
Process.Start("Notepad.exe", sIsoFilePath)
|
||||
' altrimenti lo segnalo
|
||||
Else
|
||||
MessageBox.Show("Edit failed, missing part program file" & " (" & sIsoFilePath & ")")
|
||||
End If
|
||||
' verifico se creare pacchetto
|
||||
If Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.MACHINE_EXPORT) Then
|
||||
'If True Then
|
||||
If Not CreateProjectForMachine(sIsoFilePath) Then
|
||||
MessageBox.Show("Icrx file generation failed!!", "Error!", MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
End If
|
||||
' riabilito ProjManager, TopPanel e uscita dal programma
|
||||
Map.refProjManagerVM.SetProjCmdIsEnabled(True)
|
||||
Map.refTopPanelVM.SetTopPanelIsEnabled(True)
|
||||
Map.refViewLayerManagerVM.SetViewLayerManagerIsEnabled(True)
|
||||
Map.refTFSEditorVM.SetTFSEditorIsEnabled(True)
|
||||
Map.refSliderManagerVM.SetLayerIndexIsEnabled(True)
|
||||
Map.refSliderManagerVM.SetLayerAdvancementIsEnabled(True)
|
||||
SetButtonsIsEnabled(True)
|
||||
End If
|
||||
Else
|
||||
' altrimenti lo segnalo
|
||||
MessageBox.Show("Part program generation failed!!", "Error", MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(Time_Visibility))
|
||||
NotifyPropertyChanged(NameOf(Mass_Visibility))
|
||||
@@ -725,6 +744,142 @@ Public Class SliceManagerVM
|
||||
m_bCalculating = False
|
||||
End Sub
|
||||
|
||||
Private Function CreateProjectForMachine(sIsoFilePath As String) As Boolean
|
||||
' disabilito ProjManager, TopPanel, TFS, Slider, bottoni e uscita dal programma
|
||||
Map.refProjManagerVM.SetProjCmdIsEnabled(False)
|
||||
Map.refTopPanelVM.SetTopPanelIsEnabled(False)
|
||||
Map.refViewLayerManagerVM.SetViewLayerManagerIsEnabled(False)
|
||||
Map.refTFSEditorVM.SetTFSEditorIsEnabled(False)
|
||||
Map.refSliderManagerVM.SetLayerIndexIsEnabled(False)
|
||||
Map.refSliderManagerVM.SetLayerAdvancementIsEnabled(False)
|
||||
SetButtonsIsEnabled(False)
|
||||
' creo cartella file da esportare in Temp
|
||||
Dim sExportTempFolderPath As String = Map.refMainWindowVM.MainWindowM.sTempDir & "\MachineExport"
|
||||
If Directory.Exists(sExportTempFolderPath) Then
|
||||
Try
|
||||
Directory.Delete(sExportTempFolderPath, True)
|
||||
Catch ex As Exception
|
||||
EgtOutLog("Error! Impossible deleting folder " & sExportTempFolderPath & "!")
|
||||
Return False
|
||||
End Try
|
||||
End If
|
||||
Try
|
||||
Directory.CreateDirectory(sExportTempFolderPath)
|
||||
Catch ex As Exception
|
||||
EgtOutLog("Error! Impossible creating folder " & sExportTempFolderPath & "!")
|
||||
Return False
|
||||
End Try
|
||||
' mostro solido per eportazione
|
||||
Dim SolidCheck As ViewLayer = Map.refViewLayerManagerVM.LayerList.FirstOrDefault(Function(x) x.Type = ViewLayer.ViewLayerType.SOLID_SLICE)
|
||||
Dim CurrSolidCheckValue As Boolean? = SolidCheck.bIsVisible
|
||||
If IsNothing(SolidCheck.bIsVisible) OrElse Not SolidCheck.bIsVisible Then
|
||||
SolidCheck.bIsVisible = True
|
||||
End If
|
||||
' esporto file progetto
|
||||
Dim sFileExtension As String
|
||||
If True Then
|
||||
sFileExtension = ".3dm"
|
||||
Else
|
||||
sFileExtension = ".3mf"
|
||||
End If
|
||||
Dim s3dFilePath As String = ""
|
||||
If Not Map.refSceneHostVM.ExportProjectForMachine(sExportTempFolderPath, True, s3dFilePath) Then
|
||||
EgtOutLog("Error! Impossible exporting 3mf file!")
|
||||
Return False
|
||||
End If
|
||||
'' esporto file 3mf
|
||||
'Dim s3mfPath As String = sExportTempFolderPath & "\ProjectSlice.3mf"
|
||||
'If Not Map.refSceneHostVM.ExportProjectForMachine(s3mfPath) Then
|
||||
' EgtOutLog("Error! Impossible exporting 3mf file!")
|
||||
' Return False
|
||||
'End If
|
||||
' creo file json
|
||||
Dim sProjName As String = ""
|
||||
EgtGetCurrFilePath(sProjName)
|
||||
Dim sJsonPath As String = sExportTempFolderPath & "\ProjectSlice.json"
|
||||
CreateJson(sJsonPath)
|
||||
' creo immagine preview
|
||||
Dim sPreviewImagePath As String = sExportTempFolderPath & "\ProjectSlice.png"
|
||||
CreatePreviewImage(sPreviewImagePath)
|
||||
' nascondo solido
|
||||
If IsNothing(CurrSolidCheckValue) OrElse Not CurrSolidCheckValue Then
|
||||
SolidCheck.bIsVisible = CurrSolidCheckValue
|
||||
End If
|
||||
' creo path dello zip
|
||||
Dim sZipPath As String = Path.ChangeExtension(sProjName, ".icrx")
|
||||
' se esiste gia' lo cancello
|
||||
If File.Exists(sZipPath) Then
|
||||
Try
|
||||
File.Delete(sZipPath)
|
||||
Catch ex As Exception
|
||||
EgtOutLog("Error! Impossible deleting old icrx file!")
|
||||
Return False
|
||||
End Try
|
||||
End If
|
||||
Try
|
||||
Using zip As New Ionic.Zip.ZipFile(sZipPath, Console.Out)
|
||||
zip.AlternateEncodingUsage = ZipOption.Always
|
||||
zip.AlternateEncoding = Text.Encoding.UTF8
|
||||
zip.CompressionMethod = CompressionMethod.None
|
||||
' aggiungo file Iso
|
||||
zip.AddItem(sIsoFilePath, "").FileName = "ProjectSlice" & Path.GetExtension(sIsoFilePath)
|
||||
' aggiungo file 3mf
|
||||
zip.AddItem(s3dFilePath, "")
|
||||
' aggiungo json
|
||||
zip.AddItem(sJsonPath, "")
|
||||
' aggiungo immagine preview
|
||||
zip.AddItem(sPreviewImagePath, "")
|
||||
' salvo lo zip
|
||||
zip.Save()
|
||||
End Using
|
||||
Catch ex As Exception
|
||||
EgtOutLog("Error! Icrx file generation failed!!")
|
||||
Return False
|
||||
End Try
|
||||
' elimino tutti i file temporanei creati
|
||||
If Directory.Exists(sExportTempFolderPath) Then
|
||||
Directory.Delete(sExportTempFolderPath, True)
|
||||
End If
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Private Function CreateJson(sJsonPath As String) As Boolean
|
||||
' creo json
|
||||
Dim JsonMain As New JsonMain(m_dTime, m_dMass)
|
||||
Dim json As String = JsonConvert.SerializeObject(JsonMain, Formatting.Indented)
|
||||
If File.Exists(sJsonPath) Then
|
||||
Try
|
||||
File.Delete(sJsonPath)
|
||||
Catch ex As Exception
|
||||
EgtOutLog("Error! Impossible deleting file " & sJsonPath & "!")
|
||||
Return False
|
||||
End Try
|
||||
End If
|
||||
Try
|
||||
File.AppendAllText(sJsonPath, json)
|
||||
Catch ex As Exception
|
||||
EgtOutLog("Error! Impossible writing json file " & sJsonPath & "!")
|
||||
Return False
|
||||
End Try
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Private Function CreatePreviewImage(sPreviewImagePath As String) As Boolean
|
||||
' recupero posizione vista corrente
|
||||
Dim nCurrAngVertDeg As Integer = 0
|
||||
Dim nCurrAngHorizDeg As Integer = 0
|
||||
EgtGetGenericView(nCurrAngVertDeg, nCurrAngHorizDeg)
|
||||
EgtSetView(VT.ISO_SW, False)
|
||||
SetTableVisibility(False)
|
||||
EgtZoom(ZM.ALL, False)
|
||||
'EgtExportSvg(GDB_ID.ROOT, sPreviewImagePath)
|
||||
EgtGetImage(SM.SHADING, New Color3d(255, 255, 255, 255), New Color3d(255, 255, 255, 255), 3000, 3000, sPreviewImagePath)
|
||||
EgtSetGenericView(nCurrAngVertDeg, nCurrAngHorizDeg, False)
|
||||
SetTableVisibility(True)
|
||||
EgtZoom(ZM.ALL, True)
|
||||
Return True
|
||||
End Function
|
||||
|
||||
#End Region ' Generate
|
||||
|
||||
#Region "Simulate"
|
||||
|
||||
@@ -20,23 +20,22 @@ Public Class SliderManagerVM
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
If IsNothing(Map.refTopPanelVM.SelPart) Then Return
|
||||
Dim DisableMgr As New DisableModifiedMgr
|
||||
Select Case m_nSelViewSlider
|
||||
Case ViewSliderType.ONLY_SELECTED
|
||||
' se diverso da nullo nascondo precedente
|
||||
If Not IsNothing(Map.refTopPanelVM.SelPart) Then
|
||||
' riporto vecchio strato a visualizzazione di tutti i solidi
|
||||
If m_nLayerIndex > 0 Then dLayerAdvancement = 100
|
||||
If m_nLayerIndex = 0 Then
|
||||
For Each Layer In Map.refTopPanelVM.SelPart.LayerList
|
||||
EgtSetStatus(Layer.nLayerId, GDB_ST.OFF)
|
||||
Next
|
||||
ElseIf m_nLayerIndex > 0 Then
|
||||
EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(m_nLayerIndex - 1).nLayerId, GDB_ST.OFF)
|
||||
End If
|
||||
' nascondo precedente
|
||||
' riporto vecchio strato a visualizzazione di tutti i solidi
|
||||
If m_nLayerIndex > 0 Then dLayerAdvancement = 100
|
||||
If m_nLayerIndex = 0 Then
|
||||
For Each Layer In Map.refTopPanelVM.SelPart.LayerList
|
||||
EgtSetStatus(Layer.nLayerId, GDB_ST.OFF)
|
||||
Next
|
||||
ElseIf m_nLayerIndex > 0 Then
|
||||
EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(m_nLayerIndex - 1).nLayerId, GDB_ST.OFF)
|
||||
End If
|
||||
m_nLayerIndex = value
|
||||
' se diverso da nullo visualizzo corrente
|
||||
If Not IsNothing(Map.refTopPanelVM.SelPart) AndAlso m_nLayerIndex > 0 Then EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(m_nLayerIndex - 1).nLayerId, GDB_ST.ON_)
|
||||
If m_nLayerIndex > 0 Then EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(m_nLayerIndex - 1).nLayerId, GDB_ST.ON_)
|
||||
' porto barra nuovo strato a 100
|
||||
If m_nLayerIndex > 0 Then SetLayerAdvancement(100)
|
||||
Case ViewSliderType.UNTIL_SELECTED
|
||||
@@ -64,6 +63,7 @@ Public Class SliderManagerVM
|
||||
End If
|
||||
m_nLayerIndex = value
|
||||
End Select
|
||||
DisableMgr.ReEnable()
|
||||
NotifyPropertyChanged(NameOf(ghShowValue))
|
||||
NotifyPropertyChanged(NameOf(ghValueIndex))
|
||||
NotifyPropertyChanged(NameOf(ghValueHeight))
|
||||
@@ -71,47 +71,44 @@ Public Class SliderManagerVM
|
||||
End Set
|
||||
End Property
|
||||
Private Sub SetLayerIndex(value As Integer)
|
||||
If IsNothing(Map.refTopPanelVM.SelPart) Then Return
|
||||
Dim DisableMgr As New DisableModifiedMgr
|
||||
Select Case m_nSelViewSlider
|
||||
Case ViewSliderType.ONLY_SELECTED
|
||||
If Not IsNothing(Map.refTopPanelVM.SelPart) Then
|
||||
' riporto vecchio strato a visualizzazione di tutti i solidi
|
||||
If m_nLayerIndex > 0 AndAlso m_nLayerIndex < Map.refTopPanelVM.SelPart.LayerList.Count Then dLayerAdvancement = 100
|
||||
For nLayerInd = 0 To Map.refTopPanelVM.SelPart.LayerList.Count - 1
|
||||
If nLayerInd = value - 1 Then
|
||||
EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(nLayerInd).nLayerId, GDB_ST.ON_)
|
||||
Else
|
||||
EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(nLayerInd).nLayerId, GDB_ST.OFF)
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
' riporto vecchio strato a visualizzazione di tutti i solidi
|
||||
If m_nLayerIndex > 0 AndAlso m_nLayerIndex < Map.refTopPanelVM.SelPart.LayerList.Count Then dLayerAdvancement = 100
|
||||
For nLayerInd = 0 To Map.refTopPanelVM.SelPart.LayerList.Count - 1
|
||||
If nLayerInd = value - 1 Then
|
||||
EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(nLayerInd).nLayerId, GDB_ST.ON_)
|
||||
Else
|
||||
EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(nLayerInd).nLayerId, GDB_ST.OFF)
|
||||
End If
|
||||
Next
|
||||
m_nLayerIndex = value
|
||||
Case ViewSliderType.UNTIL_SELECTED
|
||||
If Not IsNothing(Map.refTopPanelVM.SelPart) Then
|
||||
' riporto vecchio strato a visualizzazione di tutti i solidi
|
||||
If m_nLayerIndex > 0 AndAlso m_nLayerIndex < Map.refTopPanelVM.SelPart.LayerList.Count Then dLayerAdvancement = 100
|
||||
For nLayerInd = 0 To Map.refTopPanelVM.SelPart.LayerList.Count - 1
|
||||
If nLayerInd <= value - 1 Then
|
||||
EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(nLayerInd).nLayerId, GDB_ST.ON_)
|
||||
Else
|
||||
EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(nLayerInd).nLayerId, GDB_ST.OFF)
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
' riporto vecchio strato a visualizzazione di tutti i solidi
|
||||
If m_nLayerIndex > 0 AndAlso m_nLayerIndex < Map.refTopPanelVM.SelPart.LayerList.Count Then dLayerAdvancement = 100
|
||||
For nLayerInd = 0 To Map.refTopPanelVM.SelPart.LayerList.Count - 1
|
||||
If nLayerInd <= value - 1 Then
|
||||
EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(nLayerInd).nLayerId, GDB_ST.ON_)
|
||||
Else
|
||||
EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(nLayerInd).nLayerId, GDB_ST.OFF)
|
||||
End If
|
||||
Next
|
||||
m_nLayerIndex = value
|
||||
Case ViewSliderType.FROM_SELECTED
|
||||
If Not IsNothing(Map.refTopPanelVM.SelPart) Then
|
||||
' riporto vecchio strato a visualizzazione di tutti i solidi
|
||||
If m_nLayerIndex > 0 AndAlso m_nLayerIndex < Map.refTopPanelVM.SelPart.LayerList.Count Then dLayerAdvancement = 100
|
||||
For nLayerInd = 0 To Map.refTopPanelVM.SelPart.LayerList.Count - 1
|
||||
If nLayerInd >= value - 1 Then
|
||||
EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(nLayerInd).nLayerId, GDB_ST.ON_)
|
||||
Else
|
||||
EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(nLayerInd).nLayerId, GDB_ST.OFF)
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
' riporto vecchio strato a visualizzazione di tutti i solidi
|
||||
If m_nLayerIndex > 0 AndAlso m_nLayerIndex < Map.refTopPanelVM.SelPart.LayerList.Count Then dLayerAdvancement = 100
|
||||
For nLayerInd = 0 To Map.refTopPanelVM.SelPart.LayerList.Count - 1
|
||||
If nLayerInd >= value - 1 Then
|
||||
EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(nLayerInd).nLayerId, GDB_ST.ON_)
|
||||
Else
|
||||
EgtSetStatus(Map.refTopPanelVM.SelPart.LayerList(nLayerInd).nLayerId, GDB_ST.OFF)
|
||||
End If
|
||||
Next
|
||||
m_nLayerIndex = value
|
||||
End Select
|
||||
DisableMgr.ReEnable()
|
||||
NotifyPropertyChanged(NameOf(nLayerIndex))
|
||||
NotifyPropertyChanged(NameOf(ghShowValue))
|
||||
NotifyPropertyChanged(NameOf(ghValueIndex))
|
||||
@@ -201,6 +198,8 @@ Public Class SliderManagerVM
|
||||
Return m_dLayerAdvancement
|
||||
End Get
|
||||
Set(value As Double)
|
||||
If IsNothing(Map.refTopPanelVM.SelPart) Then Return
|
||||
Dim DisableMgr As New DisableModifiedMgr
|
||||
Select Case m_nSelViewSlider
|
||||
Case ViewSliderType.ONLY_SELECTED
|
||||
Dim nTotSolid As Integer = 0
|
||||
@@ -247,6 +246,7 @@ Public Class SliderManagerVM
|
||||
End If
|
||||
m_dLayerAdvancement = value
|
||||
End Select
|
||||
DisableMgr.ReEnable()
|
||||
EgtDraw()
|
||||
End Set
|
||||
End Property
|
||||
@@ -335,6 +335,7 @@ Public Class SliderManagerVM
|
||||
WriteMainPrivateProfileString(S_PRINTING3D, K_VIEWSLIDER, m_nSelViewSlider)
|
||||
' ciclo tutti i layer per nasconderli/mostrarli
|
||||
If IsNothing(Map.refTopPanelVM.SelPart) OrElse IsNothing(Map.refTopPanelVM.SelPart.LayerList) Then Return
|
||||
Dim DisableMgr As New DisableModifiedMgr
|
||||
Select Case m_nSelViewSlider
|
||||
Case ViewSliderType.ONLY_SELECTED
|
||||
For Each Layer In Map.refTopPanelVM.SelPart.LayerList
|
||||
@@ -361,6 +362,7 @@ Public Class SliderManagerVM
|
||||
End If
|
||||
Next
|
||||
End Select
|
||||
DisableMgr.ReEnable()
|
||||
' mostro/nascondo slider orizzontale
|
||||
m_LayerAdvancement_Visibility = If(m_nSelViewSlider = ViewSliderType.ONLY_SELECTED, Visibility.Visible, Visibility.Hidden)
|
||||
NotifyPropertyChanged(NameOf(LayerAdvancement_Visibility))
|
||||
|
||||
@@ -962,4 +962,8 @@ Public Class TFSLayer
|
||||
Return If(dHours > 0, dHours.ToString("00") & ":", "") & If(dHours > 0, dMinutes.ToString("00"), dMinutes.ToString()) & ":" & dSeconds.ToString("00")
|
||||
End Function
|
||||
|
||||
End Class
|
||||
Friend Function ConvertToJsonLayer() As JsonLayer
|
||||
Return New JsonLayer(nIndex, dLength, dTMin, m_dTTrg, dTMax, dTCurr, m_dTWait, dFCurr, m_dFTrg, m_dFMax, m_dFCurr, dSpeed)
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
@@ -274,7 +274,27 @@ Public Class TopPanelVM
|
||||
WriteMainPrivateProfileString(S_PRINTING3D, K_CURRMACHINING, value.sGUID.ToString())
|
||||
' imposto selezionata come corrente
|
||||
If Not IsNothing(m_SelPart) AndAlso (IsNothing(m_SelMachining) OrElse value.sGUID <> m_SelMachining.sGUID) Then
|
||||
Dim GeneralCathegory As MachiningCathegory = Map.refTopPanelVM.CurrMachining.CathegoryList.FirstOrDefault(Function(x) x.Type = MachiningCathegory.Cathegories.GENERAL)
|
||||
Dim OldSlicingTypeValue As Machining.MPAR_SLICINGTYPE = Nothing
|
||||
Dim NewSlicingTypeValue As Machining.MPAR_SLICINGTYPE = Nothing
|
||||
If Not IsNothing(GeneralCathegory) Then
|
||||
Dim SlicingTypeParam As ComboMachiningParam = GeneralCathegory.MachiningParamList.FirstOrDefault(Function(x) x.Type = MachiningParam.Params.SLICINGTYPE)
|
||||
If Not IsNothing(SlicingTypeParam) Then
|
||||
OldSlicingTypeValue = SlicingTypeParam.SelValue.Id
|
||||
End If
|
||||
End If
|
||||
Map.refCurrMachiningPanelVM.SetCurrMachining(New CurrMachining(m_SelPart.nPartId, value.nIndex))
|
||||
GeneralCathegory = Map.refTopPanelVM.CurrMachining.CathegoryList.FirstOrDefault(Function(x) x.Type = MachiningCathegory.Cathegories.GENERAL)
|
||||
If Not IsNothing(GeneralCathegory) Then
|
||||
Dim SlicingTypeParam As ComboMachiningParam = GeneralCathegory.MachiningParamList.FirstOrDefault(Function(x) x.Type = MachiningParam.Params.SLICINGTYPE)
|
||||
If Not IsNothing(SlicingTypeParam) Then
|
||||
NewSlicingTypeValue = SlicingTypeParam.SelValue.Id
|
||||
End If
|
||||
End If
|
||||
If IsNothing(OldSlicingTypeValue) OrElse IsNothing(NewSlicingTypeValue) OrElse OldSlicingTypeValue <> NewSlicingTypeValue Then
|
||||
' aggiorno area di estrusione
|
||||
CurrentMachine.UpdateExtrusionArea()
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
m_SelMachining = value
|
||||
|
||||
@@ -79,6 +79,14 @@ Public Module CurrentMachine
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' altezza massima di estrusione impostata in file ini macchina
|
||||
Private m_dSlicingMaxHeight As Double
|
||||
Public ReadOnly Property dSlicingMaxHeight As Double
|
||||
Get
|
||||
Return m_dSlicingMaxHeight
|
||||
End Get
|
||||
End Property
|
||||
|
||||
#Region "Init"
|
||||
|
||||
Sub InitCurrentMachine(sMachinesRootDir As String, sMachineName As String)
|
||||
@@ -97,6 +105,8 @@ Public Module CurrentMachine
|
||||
m_sMachiningFilePath = sMachinesRootDir & "\" & sMachineName & "\Machinings\Machinings.ini"
|
||||
' impostazione cartella materiali
|
||||
m_sMaterialFilePath = sMachinesRootDir & "\" & sMachineName & "\Materials\Materials.ini"
|
||||
' leggo altezza massima estrusione impostata su macchina
|
||||
m_dSlicingMaxHeight = GetPrivateProfileDouble(S_MACH_PRINTING3D, K_MAX_HEIGHT, 900, m_sMachIniFile)
|
||||
' Disabilito segnalazione modificato
|
||||
Dim DisableMgr As New DisableModifiedMgr
|
||||
' recupero box macchina
|
||||
@@ -146,19 +156,30 @@ Public Module CurrentMachine
|
||||
DisableMgr.ReEnable()
|
||||
End Sub
|
||||
|
||||
Public Sub SetTableVisibility(IsVisible As Boolean)
|
||||
Dim nTableLayerId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, TABLE)
|
||||
EgtSetStatus(nTableLayerId, If(IsVisible, GDB_ST.ON_, GDB_ST.OFF))
|
||||
End Sub
|
||||
|
||||
Public Sub UpdateExtrusionArea()
|
||||
Dim DisableMgr As New DisableModifiedMgr
|
||||
' recupero eventuale vecchia area di estrusione
|
||||
Dim nTabPartId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, TABLE)
|
||||
Dim nTabLayerId As Integer = EgtGetFirstNameInGroup(nTabPartId, TABLE)
|
||||
Dim nExtrusionAreaId As Integer = EgtGetFirstNameInGroup(nTabLayerId, EXTRUSION_AREA)
|
||||
If nExtrusionAreaId <> GDB_ID.NULL Then
|
||||
' e la cancello
|
||||
EgtErase(nExtrusionAreaId)
|
||||
End If
|
||||
If nExtrusionAreaId <> GDB_ID.NULL Then EgtErase(nExtrusionAreaId)
|
||||
Dim nExtrusionRectId As Integer = EgtGetFirstNameInGroup(nTabLayerId, EXTRUSION_RECT)
|
||||
If nExtrusionRectId <> GDB_ID.NULL Then EgtErase(nExtrusionRectId)
|
||||
' se lavorazione corrente nulla, esco
|
||||
If IsNothing(Map.refTopPanelVM.CurrMachining) Then Return
|
||||
If IsNothing(Map.refTopPanelVM.CurrMachining) Then
|
||||
DisableMgr.ReEnable()
|
||||
Return
|
||||
End If
|
||||
' se non esiste file dati macchina, esco
|
||||
If String.IsNullOrWhiteSpace(m_sMachDataIniFile) Then Return
|
||||
If String.IsNullOrWhiteSpace(m_sMachDataIniFile) Then
|
||||
DisableMgr.ReEnable()
|
||||
Return
|
||||
End If
|
||||
' recupero tipo di slice
|
||||
Dim sExtrusionType As String = S_VERTICAL
|
||||
Dim GeneralCathegory As MachiningCathegory = Map.refTopPanelVM.CurrMachining.CathegoryList.FirstOrDefault(Function(x) x.Type = MachiningCathegory.Cathegories.GENERAL)
|
||||
@@ -178,12 +199,19 @@ Public Module CurrentMachine
|
||||
Dim dExtrXMin = GetPrivateProfileDouble(sExtrusionType, K_MINX, 0, m_sMachDataIniFile)
|
||||
Dim dExtrYMax = GetPrivateProfileDouble(sExtrusionType, K_MAXY, 0, m_sMachDataIniFile)
|
||||
Dim dExtrYMin = GetPrivateProfileDouble(sExtrusionType, K_MINY, 0, m_sMachDataIniFile)
|
||||
nExtrusionAreaId = EgtCreateRectangle2P(nTabLayerId, New Point3d(dExtrXMin, dExtrYMin, 0), New Point3d(dExtrXMax, dExtrYMax, 0))
|
||||
Const AREA_WIDTH As Double = 10
|
||||
Dim nAuxRectId As Integer = EgtCreateRectangle2P(nTabLayerId, New Point3d(dExtrXMin - AREA_WIDTH, dExtrYMin - AREA_WIDTH, 0), New Point3d(dExtrXMax + AREA_WIDTH, dExtrYMax + AREA_WIDTH, 0))
|
||||
nExtrusionRectId = EgtCreateRectangle2P(nTabLayerId, New Point3d(dExtrXMin, dExtrYMin, 0), New Point3d(dExtrXMax, dExtrYMax, 0))
|
||||
nExtrusionAreaId = EgtCreateSurfTmByRegion( nTabLayerId, { nAuxRectId, nExtrusionRectId}, EPS_STM)
|
||||
EgtErase( nAuxRectId)
|
||||
Dim c3Temp As New Color3d
|
||||
c3Temp.FromColor(System.Drawing.Color.Lime)
|
||||
EgtSetColor(nExtrusionAreaId, c3Temp)
|
||||
EgtSetName(nExtrusionAreaId, EXTRUSION_AREA)
|
||||
EgtSetColor(nExtrusionRectId, c3Temp)
|
||||
EgtSetName(nExtrusionRectId, EXTRUSION_RECT)
|
||||
m_b3ExtrusionArea = New BBox3d(New Point3d(dExtrXMin, dExtrYMin, 0), New Point3d(dExtrXMax, dExtrYMax, 0))
|
||||
DisableMgr.ReEnable()
|
||||
EgtDraw()
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -0,0 +1,205 @@
|
||||
Imports EgtUILib.EgtInterface
|
||||
Imports EgtWPFLib5
|
||||
|
||||
Public Class JsonMain
|
||||
|
||||
Private m_StrandW As Double
|
||||
Public ReadOnly Property StrandW As Double
|
||||
Get
|
||||
Return m_StrandW
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_StrandH As Double
|
||||
Public ReadOnly Property StrandH As Double
|
||||
Get
|
||||
Return m_StrandH
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_BoxX As Double
|
||||
Public ReadOnly Property BoxX As Double
|
||||
Get
|
||||
Return m_BoxX
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_BoxY As Double
|
||||
Public ReadOnly Property BoxY As Double
|
||||
Get
|
||||
Return m_BoxY
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_BoxZ As Double
|
||||
Public ReadOnly Property BoxZ As Double
|
||||
Get
|
||||
Return m_BoxZ
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dTime As Double
|
||||
Public ReadOnly Property dTime As Double
|
||||
Get
|
||||
Return m_dTime
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dMass As Double = 0
|
||||
Public ReadOnly Property dMass As Double
|
||||
Get
|
||||
Return m_dMass
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_LayerQty As Double
|
||||
Public ReadOnly Property LayerQty As Double
|
||||
Get
|
||||
Return m_LayerQty
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_MaterialName As String
|
||||
Public ReadOnly Property MaterialName As String
|
||||
Get
|
||||
Return m_MaterialName
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_JsonLayerList As New List(Of JsonLayer)
|
||||
Public ReadOnly Property JsonLayerList As List(Of JsonLayer)
|
||||
Get
|
||||
Return m_JsonLayerList
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Sub New(dTime As Double, dMass As Double)
|
||||
For Each Layer In Map.refTFSEditorVM.LayerList
|
||||
m_JsonLayerList.Add(Layer.ConvertToJsonLayer())
|
||||
Next
|
||||
m_MaterialName = Map.refTopPanelVM.SelMaterial.sName
|
||||
Dim GeneralCathegory As MachiningCathegory = Map.refCurrMachiningPanelVM.CurrMachining.CathegoryList.FirstOrDefault(Function(x) x.Type = MachiningCathegory.Cathegories.GENERAL)
|
||||
If Not IsNothing(GeneralCathegory) Then
|
||||
Dim StrandW As CurrNumericMachiningParam = GeneralCathegory.MachiningParamList.FirstOrDefault(Function(y) y.Type = MachiningParam.Params.STRANDW)
|
||||
Dim StrandH As CurrNumericMachiningParam = GeneralCathegory.MachiningParamList.FirstOrDefault(Function(y) y.Type = MachiningParam.Params.STRANDH)
|
||||
If Not IsNothing(StrandW) Then
|
||||
m_StrandW = StrandW.dValue
|
||||
End If
|
||||
If Not IsNothing(StrandH) Then
|
||||
m_StrandH = StrandH.dValue
|
||||
End If
|
||||
End If
|
||||
m_dTime = dTime
|
||||
m_dMass = dMass
|
||||
If Not IsNothing(Map.refTopPanelVM.SelPart) Then
|
||||
Dim b3Print As BBox3d = Map.refDispositionPanelVM.GetSolidForReferenceBBox(Map.refTopPanelVM.SelPart)
|
||||
m_BoxX = b3Print.DimX
|
||||
m_BoxY = b3Print.DimY
|
||||
m_BoxZ = b3Print.DimZ
|
||||
End If
|
||||
m_LayerQty = Map.refSliderManagerVM.nLayerIndex_Maximum
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Public Class JsonLayer
|
||||
Private m_nIndex As Integer
|
||||
Public ReadOnly Property Index As Integer
|
||||
Get
|
||||
Return m_nIndex
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dLength As Double
|
||||
Public ReadOnly Property Length As Double
|
||||
Get
|
||||
Return m_dLength
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dTMin As Double
|
||||
Public ReadOnly Property TMin As Double
|
||||
Get
|
||||
Return m_dTMin
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dTTrg As Double
|
||||
Public ReadOnly Property TTrg As Double
|
||||
Get
|
||||
Return m_dTTrg
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dTMax As Double
|
||||
Public ReadOnly Property TMax As Double
|
||||
Get
|
||||
Return m_dTMax
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dTCurr As Double
|
||||
Public ReadOnly Property TCurr As Double
|
||||
Get
|
||||
Return m_dTCurr
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dTWait As Double
|
||||
Public ReadOnly Property TWait As Double
|
||||
Get
|
||||
Return m_dTWait
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dFMin As Double
|
||||
Public ReadOnly Property FMin As Double
|
||||
Get
|
||||
Return m_dFMin
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dFTrg As Double
|
||||
Public ReadOnly Property FTrg As Double
|
||||
Get
|
||||
Return m_dFTrg
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dFMax As Double
|
||||
Public ReadOnly Property FMax As Double
|
||||
Get
|
||||
Return m_dFMax
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dFCurr As Double
|
||||
Public ReadOnly Property FCurr As Double
|
||||
Get
|
||||
Return m_dFCurr
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_dSpeed As Double
|
||||
Public ReadOnly Property Speed As Double
|
||||
Get
|
||||
Return m_dSpeed
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Sub New(nIndex As Integer, dLength As Double, dTMin As Double, dTTrg As Double, dTMax As Double, dTCurr As Double, dTWait As Double, dFMin As Double, dFTrg As Double, dFMax As Double, dFCurr As Double, dSpeed As Double)
|
||||
m_nIndex = nIndex
|
||||
m_dLength = dLength
|
||||
m_dTMin = dTMin
|
||||
m_dTTrg = dTTrg
|
||||
m_dTMax = dTMax
|
||||
m_dTCurr = dTCurr
|
||||
m_dTWait = dTWait
|
||||
m_dFMin = dFMin
|
||||
m_dFTrg = dFTrg
|
||||
m_dFMax = dFMax
|
||||
m_dFCurr = dFCurr
|
||||
m_dSpeed = dSpeed
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
@@ -115,4 +115,18 @@ Module LuaExec
|
||||
Return bOk
|
||||
End Function
|
||||
|
||||
Friend Function ExecPrepare3dmExport(ByRef nExportGeomId As Integer) As Boolean
|
||||
Dim bOk As Boolean = True
|
||||
EgtLuaCreateGlobTable("PRINT")
|
||||
EgtLuaSetGlobStringVar("PRINT.BASEDIR", Map.refMainWindowVM.MainWindowM.s3dPrintingDir)
|
||||
bOk = EgtLuaExecFile(Map.refMainWindowVM.MainWindowM.s3dPrintingDir & "\PrepareExport.lua")
|
||||
If bOk Then
|
||||
EgtLuaGetGlobIntVar("PRINT.EXPORTLAYER", nExportGeomId)
|
||||
End If
|
||||
' Cancello tavola globale
|
||||
EgtLuaResetGlobVar("PRINT")
|
||||
Return bOk
|
||||
End Function
|
||||
|
||||
|
||||
End Module
|
||||
|
||||
@@ -35,7 +35,7 @@ Public Class ViewLayerManagerVM
|
||||
End Sub
|
||||
|
||||
Sub New()
|
||||
' Creo riferimento a questa classe in EgtCAM5Map
|
||||
' Creo riferimento a questa classe in Map
|
||||
Map.SetRefViewLayerManagerVM(Me)
|
||||
m_LayerList = New ObservableCollection(Of ViewLayer)({New ViewLayer(ViewLayer.ViewLayerType.PRINT_SOLID, "Print", True),
|
||||
New ViewLayer(ViewLayer.ViewLayerType.REFERENCE, "Origin Point", True),
|
||||
@@ -150,8 +150,8 @@ Public Class ViewLayer
|
||||
End Sub
|
||||
|
||||
Friend Sub UpdateVisibility(bIsVisible As Boolean)
|
||||
' Disabilito segnalazione modificato
|
||||
Dim DisableMgr As New DisableModifiedMgr ' se solidi
|
||||
Dim DisableMgr As New DisableModifiedMgr
|
||||
' se solidi
|
||||
If m_Type = ViewLayerType.SOLID_SLICE Then
|
||||
If Map.refSceneHostVM.MainController.GetStep() = 0 Then
|
||||
' aggiorno parametro di calcolo solidi sui pezzi
|
||||
@@ -242,7 +242,6 @@ Public Class ViewLayer
|
||||
Next
|
||||
Next
|
||||
End If
|
||||
' Ripristino stato segnalazione modifica
|
||||
DisableMgr.ReEnable()
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Ionic.Zip" version="1.9.1.8" targetFramework="net472" />
|
||||
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net472" />
|
||||
</packages>
|
||||
Reference in New Issue
Block a user