Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ecaedb0ed2 | |||
| 9a0f478529 | |||
| 70761248ff |
@@ -593,13 +593,4 @@ Public Class ProcessResult
|
||||
m_nTIME = TIME
|
||||
End Sub
|
||||
|
||||
Public Sub ResetTypeFeature()
|
||||
m_Type = ProcessResultTypes.PART
|
||||
m_nTASKID = 0
|
||||
End Sub
|
||||
Public Sub ResetTypePart()
|
||||
m_Type = ProcessResultTypes.BAR
|
||||
m_nCUTID = 0
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
@@ -144,6 +144,8 @@
|
||||
Public Const BTL_PRT_INVERTED As String = "INVERTED"
|
||||
Public Const BTL_PRT_MATERIAL As String = "MATERIAL"
|
||||
Public Const BTL_PRT_VOLUME As String = "VOLUME"
|
||||
Public Const BTL_PRT_ROT As String = "ROT"
|
||||
Public Const BTL_PRT_FLIP As String = "FLIP"
|
||||
' parametri pezzo
|
||||
Public Const BTL_PRT_SINGLEMEMBERNUM = "SINGLEMEMBERNUMBER"
|
||||
Public Const BTL_PRT_ASSEMBLYNUM = "ASSEMBLYNUMBER"
|
||||
|
||||
@@ -186,13 +186,7 @@ Public Class MyMachGroupPanelM
|
||||
While nOutlineId <> GDB_ID.NULL
|
||||
' verifico che sia feature
|
||||
If EgtExistsInfo(nOutlineId, MGR_FTR_PRC) Then
|
||||
Dim nCurrPrId As Integer = GDB_ID.NULL
|
||||
If EgtGetInfo(nOutlineId, MGR_FTR_PRID, nCurrPrId) AndAlso nCurrPrId <> GDB_ID.NULL Then
|
||||
If nCurrPrId < nPRId Then
|
||||
EgtSetInfo(nOutlineId, MGR_FTR_PRID, nPRId)
|
||||
nPRId += 1
|
||||
End If
|
||||
nPRId = Math.Max(nPRId - 1, nCurrPrId) + 1
|
||||
If EgtExistsInfo(nOutlineId, MGR_FTR_PRID) Then
|
||||
nOutlineId = EgtGetNext(nOutlineId)
|
||||
Continue While
|
||||
Else
|
||||
@@ -231,14 +225,7 @@ Public Class MyMachGroupPanelM
|
||||
Dim nPRC As Integer
|
||||
If EgtGetInfo(nOutlineId, MGR_FTR_PRC, nPRC) Then
|
||||
nPRId = 0
|
||||
If EgtGetInfo(nOutlineId, MGR_FTR_PRID, nPRId) Then
|
||||
If nPRId < nGlobPRId Then
|
||||
EgtSetInfo(nOutlineId, MGR_FTR_PRID, nGlobPRId)
|
||||
nPRId = nGlobPRId
|
||||
nGlobPRId += 1
|
||||
End If
|
||||
nGlobPRId = Math.Max(nGlobPRId - 1, nPRId) + 1
|
||||
Else
|
||||
If Not EgtGetInfo(nOutlineId, MGR_FTR_PRID, nPRId) Then
|
||||
EgtSetInfo(nOutlineId, MGR_FTR_PRID, nGlobPRId)
|
||||
nPRId = nGlobPRId
|
||||
nGlobPRId += 1
|
||||
|
||||
@@ -482,6 +482,8 @@ Public Class PartM
|
||||
EgtGetInfo(nPartId, BTL_PRT_GROUP, NewPartM.m_sGROUP)
|
||||
EgtGetInfo(nPartId, BTL_PRT_STOREY, NewPartM.m_sSTOREY)
|
||||
EgtGetInfo(nPartId, BTL_PRT_MATERIAL, NewPartM.m_sMATERIAL)
|
||||
EgtGetInfo(nPartId, BTL_PRT_ROT, NewPartM.m_dROT)
|
||||
EgtGetInfo(nPartId, BTL_PRT_FLIP, NewPartM.m_nFLIP)
|
||||
Dim nTemp As Integer = 0
|
||||
If Not EgtGetInfo(nPartId, BTL_PRT_ROTATED, nTemp) Then
|
||||
nTemp = 0
|
||||
|
||||
@@ -571,13 +571,7 @@ Public MustInherit Class PartVM
|
||||
Public Sub CalcGlobalUpdate()
|
||||
m_PartM.nCALC_GlobalState = nCALC_State
|
||||
For Each Feature In FeatureVMList
|
||||
If Not Feature.bDO Then
|
||||
If Feature.nState = CalcStates.COLLISION AndAlso Feature.nState > m_PartM.nCALC_GlobalState Then
|
||||
m_PartM.nCALC_GlobalState = Feature.nState
|
||||
m_PartM.nCALC_GlobalERR = Feature.nCALC_ERR
|
||||
End If
|
||||
Continue For
|
||||
End If
|
||||
If Not Feature.bDO Then Continue For
|
||||
If Feature.nState > m_PartM.nCALC_GlobalState Then
|
||||
m_PartM.nCALC_GlobalState = Feature.nState
|
||||
m_PartM.nCALC_GlobalERR = Feature.nCALC_ERR
|
||||
|
||||
@@ -16,7 +16,7 @@ Imports System.Runtime.InteropServices
|
||||
<Assembly: AssemblyDescription("")>
|
||||
<Assembly: AssemblyCompany("Egalware s.r.l.")>
|
||||
<Assembly: AssemblyProduct("EgtBEAMWALL.Core")>
|
||||
<Assembly: AssemblyCopyright("Copyright © 2020-2024 by Egalware s.r.l.")>
|
||||
<Assembly: AssemblyCopyright("Copyright © 2020-2023 by Egalware s.r.l.")>
|
||||
<Assembly: AssemblyTrademark("")>
|
||||
|
||||
<Assembly: ComVisible(False)>
|
||||
@@ -35,5 +35,5 @@ Imports System.Runtime.InteropServices
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("2.6.10.1")>
|
||||
<Assembly: AssemblyFileVersion("2.6.10.1")>
|
||||
<Assembly: AssemblyVersion("2.5.12.2")>
|
||||
<Assembly: AssemblyFileVersion("2.5.12.2")>
|
||||
|
||||
@@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Egalware s.r.l.")]
|
||||
[assembly: AssemblyProduct("EgtBEAMWALL.DataLayer")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2020-2024 by Egalware s.r.l.")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2020-2023 by Egalware s.r.l.")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("2.6.10.1")]
|
||||
[assembly: AssemblyFileVersion("2.6.10.1")]
|
||||
[assembly: AssemblyVersion("2.5.12.2")]
|
||||
[assembly: AssemblyFileVersion("2.5.12.2")]
|
||||
|
||||
@@ -16,6 +16,31 @@
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<IncrementalBuild>true</IncrementalBuild>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DocumentationFile>EgtBEAMWALL.Supervisor.xml</DocumentationFile>
|
||||
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036,42314</NoWarn>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<DebugSymbols>false</DebugSymbols>
|
||||
<DefineDebug>false</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<IncrementalBuild>false</IncrementalBuild>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DocumentationFile>EgtBEAMWALL.Supervisor.xml</DocumentationFile>
|
||||
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036,42314</NoWarn>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionExplicit>On</OptionExplicit>
|
||||
</PropertyGroup>
|
||||
@@ -28,6 +53,29 @@
|
||||
<PropertyGroup>
|
||||
<OptionInfer>On</OptionInfer>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>bin\x64\Debug\</OutputPath>
|
||||
<DocumentationFile>EgtBEAMWALL.Supervisor.xml</DocumentationFile>
|
||||
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036,42314</NoWarn>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>bin\x64\Release\</OutputPath>
|
||||
<DocumentationFile>EgtBEAMWALL.Supervisor.xml</DocumentationFile>
|
||||
<Optimize>true</Optimize>
|
||||
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036,42314</NoWarn>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
@@ -54,6 +102,27 @@
|
||||
<PropertyGroup>
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'RemoteDebug|AnyCPU'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>bin\RemoteDebug\</OutputPath>
|
||||
<DocumentationFile>EgtBEAMWALL.Supervisor.xml</DocumentationFile>
|
||||
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036,42314</NoWarn>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'RemoteDebug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>bin\x64\RemoteDebug\</OutputPath>
|
||||
<DocumentationFile>EgtBEAMWALL.Supervisor.xml</DocumentationFile>
|
||||
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036,42314</NoWarn>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'RemoteDebug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
|
||||
@@ -248,8 +248,8 @@ Public Class MainWindowM
|
||||
EgtSetLockId( sLockId)
|
||||
End If
|
||||
' Recupero livello e opzioni della chiave
|
||||
Dim bKey As Boolean = EgtGetKeyLevel(5327, 2610, 1, m_nKeyLevel) And
|
||||
EgtGetKeyOptions(5327, 2610, 1, m_nKeyOptions)
|
||||
Dim bKey As Boolean = EgtGetKeyLevel(5327, 2512, 1, m_nKeyLevel) And
|
||||
EgtGetKeyOptions(5327, 2512, 1, m_nKeyOptions)
|
||||
' Inizializzazione generale di EgtInterface
|
||||
m_nDebug = GetMainPrivateProfileInt(S_GENERAL, K_DEBUG, 0)
|
||||
m_sLogFile = m_sTempDir & "\" & SUPGENLOG_FILE_NAME.Replace("#", m_nInstance.ToString())
|
||||
|
||||
@@ -30,7 +30,7 @@ Imports System.Windows
|
||||
#End if
|
||||
<Assembly: AssemblyCompany("Egalware s.r.l.")>
|
||||
<Assembly: AssemblyProduct("EgtBEAMWALL.Supervisor")>
|
||||
<Assembly: AssemblyCopyright("Copyright © 2020-2024 by Egalware s.r.l.")>
|
||||
<Assembly: AssemblyCopyright("Copyright © 2020-2023 by Egalware s.r.l.")>
|
||||
<Assembly: AssemblyTrademark("")>
|
||||
<Assembly: ComVisible(false)>
|
||||
|
||||
@@ -70,5 +70,5 @@ Imports System.Windows
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("2.6.10.1")>
|
||||
<Assembly: AssemblyFileVersion("2.6.10.1")>
|
||||
<Assembly: AssemblyVersion("2.5.12.2")>
|
||||
<Assembly: AssemblyFileVersion("2.5.12.2")>
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports System.Collections.Specialized
|
||||
Imports System.ComponentModel
|
||||
Imports System.Windows.Interop
|
||||
Imports EgtBEAMWALL.Core
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
@@ -79,14 +78,14 @@ Public Class BTLFeatureVM
|
||||
If EgtGetInfo(nFeatureId, "AUXID", sAuxId) Then
|
||||
' verifico se ha uno o due percorsi
|
||||
Dim sAuxIdSplit() As String = sAuxId.Split(","c)
|
||||
If Not IsNothing(sAuxIdSplit) AndAlso sAuxIdSplit.Length() >= 1 Then
|
||||
If Not IsNothing( sAuxIdSplit) AndAlso sAuxIdSplit.Length() >= 1 Then
|
||||
Dim nAuxId As Integer = GDB_ID.NULL
|
||||
If Integer.TryParse(sAuxIdSplit(0), nAuxId) Then
|
||||
EgtTransform(nFeatureId + nAuxId, frOld, GDB_RT.GLOB)
|
||||
EgtTransform(nFeatureId + nAuxId, frNew, GDB_RT.GLOB)
|
||||
End If
|
||||
End If
|
||||
If Not IsNothing(sAuxIdSplit) AndAlso sAuxIdSplit.Length() >= 2 Then
|
||||
If Not IsNothing( sAuxIdSplit) AndAlso sAuxIdSplit.Length() >= 2 Then
|
||||
Dim nAux2Id As Integer = GDB_ID.NULL
|
||||
If Integer.TryParse(sAuxIdSplit(1), nAux2Id) Then
|
||||
EgtTransform(nFeatureId + nAux2Id, frOld, GDB_RT.GLOB)
|
||||
@@ -328,7 +327,7 @@ Public Class BTLFeatureVM
|
||||
AddHandler m_QBTLParamVMList.CollectionChanged, AddressOf OnQBTLParamVMListChanged
|
||||
End Sub
|
||||
|
||||
' funzione che aggiorna lo stato, la rotazione e gli errori dopo calcolo
|
||||
' funzione che aggiorna lo stato e gli errori dopo calcolo
|
||||
Friend Sub CalcFeatureUpdate(ERR As Integer, ROT As Integer, MSG As String)
|
||||
EgtSetInfo(nFeatureId, If(Map.refMainMenuVM.SelPage = Pages.VIEW, ITG_PROJ_ERR, ITG_PROD_ERR), ERR, True)
|
||||
EgtSetInfo(nFeatureId, If(Map.refMainMenuVM.SelPage = Pages.VIEW, ITG_PROJ_MSG, ITG_PROD_MSG), MSG, True)
|
||||
@@ -355,32 +354,6 @@ Public Class BTLFeatureVM
|
||||
NotifyPropertyChanged(NameOf(CALC_ERR_Foreground))
|
||||
End Sub
|
||||
|
||||
' funzione che resetta gli errori del calcolo
|
||||
Friend Sub ResetFeatureError()
|
||||
Dim ERR As Integer = 0
|
||||
Dim MSG As String = ""
|
||||
EgtSetInfo(nFeatureId, If(Map.refMainMenuVM.SelPage = Pages.VIEW, ITG_PROJ_ERR, ITG_PROD_ERR), ERR, True)
|
||||
EgtSetInfo(nFeatureId, If(Map.refMainMenuVM.SelPage = Pages.VIEW, ITG_PROJ_MSG, ITG_PROD_MSG), MSG, True)
|
||||
m_BTLFeatureM.nCALC_ERR = ERR
|
||||
m_BTLFeatureM.sCALC_MSG = MSG
|
||||
Select Case ERR
|
||||
Case 0
|
||||
m_BTLFeatureM.nState = CalcStates.OK
|
||||
Case 22
|
||||
m_BTLFeatureM.nState = CalcStates.COLLISION
|
||||
Case 17, 19
|
||||
m_BTLFeatureM.nState = CalcStates.WARNING
|
||||
Case < 0
|
||||
m_BTLFeatureM.nState = CalcStates.INFO
|
||||
Case > 0
|
||||
m_BTLFeatureM.nState = CalcStates.ERROR_
|
||||
End Select
|
||||
NotifyPropertyChanged(NameOf(Calc_Background))
|
||||
NotifyPropertyChanged(NameOf(sCALC_MSG))
|
||||
NotifyPropertyChanged(NameOf(CALC_ERR_Letter))
|
||||
NotifyPropertyChanged(NameOf(CALC_ERR_Foreground))
|
||||
End Sub
|
||||
|
||||
Friend Sub ResetCalcFeature()
|
||||
EgtRemoveInfo(nFeatureId, If(IsNothing(m_BTLPartM), ITG_PROD_ERR, ITG_PROJ_ERR))
|
||||
EgtRemoveInfo(nFeatureId, If(IsNothing(m_BTLPartM), ITG_PROD_MSG, ITG_PROJ_MSG))
|
||||
|
||||
@@ -1724,14 +1724,8 @@ Public Class BTLPartVM
|
||||
m_BTLPartM.nFeaturesGlobalState = CalcStates.NOTCALCULATED
|
||||
If nState > CalcStates.NOTCALCULATED Then
|
||||
For Each Feature In BTLFeatureVMList
|
||||
If Not Feature.bDO And Not bFeatureFirst Then
|
||||
If Feature.nState = CalcStates.COLLISION AndAlso Feature.nState > m_BTLPartM.nGlobalState Then
|
||||
m_BTLPartM.nGlobalState = Feature.nState
|
||||
m_BTLPartM.nCALC_GlobalERR = Feature.nCALC_ERR
|
||||
Else
|
||||
Continue For
|
||||
End If
|
||||
End If
|
||||
If Not Feature.bDO And Not bFeatureFirst Then Continue For
|
||||
|
||||
If ((Feature.nState = CalcStates.NOTCALCULATED And nState < CalcStates.WARNING) Or Not Feature.bDO) And bFeatureFirst Then
|
||||
m_BTLPartM.nGlobalState = Feature.nState
|
||||
m_BTLPartM.nCALC_GlobalERR = Feature.nCALC_ERR
|
||||
|
||||
@@ -355,7 +355,7 @@ Public Class CALCPanelVM
|
||||
' Resetto feature in collisione
|
||||
For Each Feature In BTLPart.m_BTLFeatureVMList
|
||||
If Feature.nState = CalcStates.COLLISION Then
|
||||
Feature.ResetFeatureError()
|
||||
Feature.CalcFeatureUpdate(0, 0, "")
|
||||
End If
|
||||
Next
|
||||
Else
|
||||
@@ -366,7 +366,7 @@ Public Class CALCPanelVM
|
||||
' Resetto feature in collisione
|
||||
For Each Feature As BTLFeatureVM In Part.FeatureVMList
|
||||
If Feature.nState = CalcStates.COLLISION Then
|
||||
Feature.ResetFeatureError()
|
||||
Feature.CalcFeatureUpdate(0, 0, "")
|
||||
End If
|
||||
Next
|
||||
Next
|
||||
@@ -387,15 +387,15 @@ Public Class CALCPanelVM
|
||||
' aggiorno nuovo pezzo
|
||||
CurrBTLPartVM = GetBTLPartVMFromBTLPartId(Line.nCUTID)
|
||||
If IsNothing(CurrBTLPartVM) Then
|
||||
Line.ResetTypePart()
|
||||
EgtOutLog("Error in CALC ProcessResult. CUTID " & Line.nCUTID & "not found in project(BTLPartVM).")
|
||||
Continue For
|
||||
End If
|
||||
Else
|
||||
' aggiorno nuovo pezzo
|
||||
CurrPartVM = GetPartVMFromPartId(Line.nCUTID)
|
||||
If IsNothing(CurrPartVM) Then
|
||||
Line.ResetTypePart()
|
||||
EgtOutLog("Error in CALC ProcessResult. CUTID " & Line.nCUTID & "not found in project(PartVM).")
|
||||
Continue For
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
@@ -422,14 +422,14 @@ Public Class CALCPanelVM
|
||||
If nProgramPage = ProjectType.PROJ Then
|
||||
CurrBTLFeatureVM = GetBTLFeatureVMFromBTLPartId(CurrBTLPartVM, Line.nTASKID)
|
||||
If IsNothing(CurrBTLFeatureVM) Then
|
||||
Line.ResetTypeFeature()
|
||||
EgtOutLog("Error in CALC ProcessResult. TASKID " & Line.nTASKID & "not found in BTLPartVM " & CurrBTLPartVM.nPartId)
|
||||
Continue For
|
||||
End If
|
||||
Else
|
||||
CurrBTLFeatureVM = GetFeatureVMFromPartId(CurrPartVM, Line.nTASKID)
|
||||
If IsNothing(CurrBTLFeatureVM) Then
|
||||
Line.ResetTypeFeature()
|
||||
EgtOutLog("Error in CALC ProcessResult. TASKID " & Line.nTASKID & "not found in PartVM " & CurrPartVM.nPartId)
|
||||
Continue For
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
|
||||
@@ -16,6 +16,31 @@
|
||||
</NuGetPackageImportStamp>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<IncrementalBuild>true</IncrementalBuild>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DocumentationFile>EgtBEAMWALL.ViewerOptimizer.xml</DocumentationFile>
|
||||
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036,42314</NoWarn>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<DebugSymbols>false</DebugSymbols>
|
||||
<DefineDebug>false</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<IncrementalBuild>false</IncrementalBuild>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DocumentationFile>EgtBEAMWALL.ViewerOptimizer.xml</DocumentationFile>
|
||||
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036,42314</NoWarn>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<OptionExplicit>On</OptionExplicit>
|
||||
</PropertyGroup>
|
||||
@@ -28,6 +53,29 @@
|
||||
<PropertyGroup>
|
||||
<OptionInfer>On</OptionInfer>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>bin\x64\Debug\</OutputPath>
|
||||
<DocumentationFile>EgtBEAMWALL.ViewerOptimizer.xml</DocumentationFile>
|
||||
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036,42314</NoWarn>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>bin\x64\Release\</OutputPath>
|
||||
<DocumentationFile>EgtBEAMWALL.ViewerOptimizer.xml</DocumentationFile>
|
||||
<Optimize>true</Optimize>
|
||||
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036,42314</NoWarn>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
@@ -57,6 +105,27 @@
|
||||
<PropertyGroup>
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'RemoteDebug|AnyCPU'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>bin\RemoteDebug\</OutputPath>
|
||||
<DocumentationFile>EgtBEAMWALL.ViewerOptimizer.xml</DocumentationFile>
|
||||
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036,42314</NoWarn>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'RemoteDebug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>bin\x64\RemoteDebug\</OutputPath>
|
||||
<DocumentationFile>EgtBEAMWALL.ViewerOptimizer.xml</DocumentationFile>
|
||||
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036,42314</NoWarn>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'RemoteDebug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
|
||||
@@ -427,7 +427,7 @@ Public Class FreeContourManagerVM
|
||||
' posiziono la griglia sul riferimento del contorno libero
|
||||
Dim frFace As New Frame3d
|
||||
EgtBeamGetSideData(SelFeature.nSelSIDE, frFace)
|
||||
Dim frFrame As New Frame3d(SelFeature.BTLFeatureM.frFRAME)
|
||||
Dim frFrame As Frame3d = SelFeature.BTLFeatureM.frFRAME
|
||||
frFrame.ToGlob( frFace)
|
||||
EgtSetGridFrame(frFrame)
|
||||
EgtSetGridShow(True, True)
|
||||
|
||||
@@ -794,6 +794,12 @@ Public Class LeftPanelVM
|
||||
EgtSetMode(nDuploId, GDB_MD.STD)
|
||||
nPartDuploIdList.Add(nDuploId)
|
||||
Next
|
||||
'' salvo lista info
|
||||
Dim saveInfoBeamList As MyMachGroupVM = BeamMachGroup
|
||||
'Dim saveInfoBeamList As New List(Of PartVM)
|
||||
'For Each info As PartVM In BeamMachGroup.PartVMList
|
||||
' saveInfoBeamList.Add(info)
|
||||
'Next
|
||||
' calcolo posizione nuovo pezzo per rispettare ordine lunghezze
|
||||
Dim nInsertIndex As Integer
|
||||
' scrivo dati di tutti i pezzi
|
||||
@@ -852,7 +858,38 @@ Public Class LeftPanelVM
|
||||
End While
|
||||
Dim sLogPath As String = Map.refMainWindowVM.MainWindowM.sTempDir & "\RawPartLog.txt"
|
||||
If Not ExecBeam(sLogPath, Map.refMachinePanelVM.SelectedMachine.Name, CalcIntegration.CmdTypes.RAWPART, False) Then
|
||||
Return False
|
||||
EgtOutLog("Fallito inserimento grezzo nella barra in AddPartToBeam")
|
||||
|
||||
' elimino duplo
|
||||
For Each nDuploId In nPartDuploIdList
|
||||
EgtErase(nDuploId)
|
||||
EgtRemoveRawPart(nDuploId)
|
||||
Next
|
||||
|
||||
' rimuovo info duplo e aggiorno info grezzo
|
||||
nPartIndex = 0
|
||||
For nIndex = 0 To BeamMachGroup.PartVMList.Count - 1
|
||||
If nPartIndex < nPartDuploIdList.Count() AndAlso BeamMachGroup.PartVMList(nIndex).dL > PartsToAdd(0).dL Then
|
||||
EgtRemoveInfo(BeamMachGroup.Id, MGR_RPT_PART & nIndex + 1)
|
||||
nPartIndex += 1
|
||||
ElseIf nPartIndex < nPartDuploIdList.Count() AndAlso BeamMachGroup.PartVMList(nIndex).dL < PartsToAdd(0).dL Then
|
||||
EgtRemoveInfo(BeamMachGroup.Id, MGR_RPT_PART & nIndex + 1)
|
||||
nPartIndex += 1
|
||||
End If
|
||||
EgtRemoveInfo(BeamMachGroup.Id, MGR_RPT_PART & nIndex + nPartIndex + 1)
|
||||
EgtSetInfo(BeamMachGroup.Id, MGR_RPT_PART & nIndex + 1, BeamMachGroup.PartVMList(nIndex).nPartId & "," & DoubleToString(BeamMachGroup.PartVMList(nIndex).dPOSX, 3))
|
||||
Next
|
||||
|
||||
' elimino vecchio grezzo ed eseguo script creazione nuovo
|
||||
nRawId = EgtGetFirstRawPart()
|
||||
While nRawId <> GDB_ID.NULL
|
||||
EgtRemoveRawPart(nRawId)
|
||||
nRawId = EgtGetFirstRawPart()
|
||||
End While
|
||||
|
||||
If Not ExecBeam(sLogPath, Map.refMachinePanelVM.SelectedMachine.Name, CalcIntegration.CmdTypes.RAWPART, False) Then
|
||||
EgtOutLog("Fallita esecuzione ExecBeam. ERRORE")
|
||||
End If
|
||||
End If
|
||||
For nDuploIndex = 0 To PartsToAdd.Count - 1
|
||||
EgtSetInfo(nPartDuploIdList(nDuploIndex), MGR_PRT_ROT, PartsToAdd(nDuploIndex).nROTATED)
|
||||
@@ -861,7 +898,11 @@ Public Class LeftPanelVM
|
||||
' aggiorno lista pezzi
|
||||
BeamMachGroup.MyMachGroupM.RefreshPartList()
|
||||
' seleziono pezzo aggiunto
|
||||
If BeamMachGroup.PartVMList.Count > nInsertIndex Then BeamMachGroup.SelPart = BeamMachGroup.PartVMList(nInsertIndex)
|
||||
If BeamMachGroup.PartVMList.Count > nInsertIndex Then
|
||||
BeamMachGroup.SelPart = BeamMachGroup.PartVMList(nInsertIndex)
|
||||
Else
|
||||
BeamMachGroup.SelPart = BeamMachGroup.PartVMList(nInsertIndex - 1)
|
||||
End If
|
||||
Return True
|
||||
End Function
|
||||
|
||||
|
||||
@@ -120,10 +120,6 @@ Public Class MyMachGroupVM
|
||||
EgtMovePartInRawPart(Part.nPartId, New Vector3d(dValue - MyMachGroupM.dL, 0, 0))
|
||||
Next
|
||||
End If
|
||||
' ripristino eventuale PosZ
|
||||
If MyMachGroupM.dPosZ >= 0 Then
|
||||
EgtMoveRawPart(nRawPartId, New Vector3d(0, 0, MyMachGroupM.dPosZ))
|
||||
End If
|
||||
EgtSetInfo(Id, MGR_RPT_PANELLEN, dValue)
|
||||
EgtDraw()
|
||||
MyMachGroupM.dL = dValue
|
||||
@@ -195,10 +191,6 @@ Public Class MyMachGroupVM
|
||||
EgtMovePartInRawPart(Part.nPartId, New Vector3d(0, dValue - MyMachGroupM.dW, 0))
|
||||
Next
|
||||
End If
|
||||
' ripristino eventuale PosZ
|
||||
If MyMachGroupM.dPosZ >= 0 Then
|
||||
EgtMoveRawPart(nRawPartId, New Vector3d(0, 0, MyMachGroupM.dPosZ))
|
||||
End If
|
||||
EgtSetInfo(Id, MGR_RPT_PANELWIDTH, dValue)
|
||||
EgtDraw()
|
||||
MyMachGroupM.dW = dValue
|
||||
@@ -534,7 +526,7 @@ Public Class MyMachGroupVM
|
||||
nRawId = EgtGetFirstRawPart()
|
||||
End While
|
||||
Dim sLogPath As String = Map.refMainWindowVM.MainWindowM.sTempDir & "\RawPartLog.txt"
|
||||
Return ExecBeam(sLogPath, Map.refMachinePanelVM.SelectedMachine.Name, CalcIntegration.CmdTypes.RAWPART, False)
|
||||
Return ExecBeam(sLogPath, Map.refMachinePanelVM.SelectedMachine.Name, CalcIntegration.CmdTypes.RAWPART, False)
|
||||
End Function
|
||||
|
||||
Friend Sub MoveBeam(Beam As PartVM, MoveDirection As MoveDirections)
|
||||
@@ -907,14 +899,14 @@ Class CopyPart
|
||||
Return m_BTLPart
|
||||
End Get
|
||||
End Property
|
||||
Private m_sPosX As String
|
||||
Public ReadOnly Property sPosX As String
|
||||
Private m_sPosX As Double
|
||||
Public ReadOnly Property sPosX As Double
|
||||
Get
|
||||
Return m_sPosX
|
||||
End Get
|
||||
End Property
|
||||
Private m_sPosY As String
|
||||
Public ReadOnly Property sPosY As String
|
||||
Private m_sPosY As Double
|
||||
Public ReadOnly Property sPosY As Double
|
||||
Get
|
||||
Return m_sPosY
|
||||
End Get
|
||||
@@ -932,7 +924,7 @@ Class CopyPart
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Sub New(BTLPart As BTLPartVM, sPosX As String, sPosY As String, dRot As Double, nFlip As Integer)
|
||||
Sub New(BTLPart As BTLPartVM, sPosX As Double, sPosY As Double, dRot As Double, nFlip As Integer)
|
||||
m_BTLPart = BTLPart
|
||||
m_sPosX = sPosX
|
||||
m_sPosY = sPosY
|
||||
|
||||
@@ -201,19 +201,47 @@ Public Class PartVM
|
||||
' recupero box del layer box
|
||||
Dim b3Box As New BBox3d
|
||||
EgtGetBBoxGlob(nBoxLayerId, GDB_BB.STANDARD, b3Box)
|
||||
If EgtRotate(nPartId, b3Box.Center, Vector3d.X_AX, 180, GDB_RT.GLOB) Then
|
||||
Dim vtAxes As Vector3d
|
||||
' se travi ruoto attorno all'asse Z
|
||||
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = MachineType.BEAM Then
|
||||
vtAxes = Vector3d.Z_AX
|
||||
' se pareti ruoto attorno all'asse X
|
||||
ElseIf Map.refProjectVM.BTLStructureVM.nPROJTYPE = MachineType.WALL Then
|
||||
vtAxes = Vector3d.X_AX
|
||||
End If
|
||||
If EgtRotate(nPartId, b3Box.Center, vtAxes, 180, GDB_RT.GLOB) Then
|
||||
m_PartM.nFLIP = If(value, 180, 0)
|
||||
EgtSetInfo(nPartId, MGR_PRT_FLIP, If(value, 180, 0))
|
||||
Else
|
||||
NotifyPropertyChanged(NameOf(bFLIP))
|
||||
End If
|
||||
' recupero box del pezzo
|
||||
Dim b3Part As New BBox3d
|
||||
EgtGetBBoxGlob(nPartId, GDB_BB.STANDARD, b3Part)
|
||||
' calcolo distanza tra i box
|
||||
Dim vtDeltaBox As Vector3d = b3Box.Min - b3Part.Min
|
||||
' reinserisco il pezzo nel grezzo
|
||||
EgtAddPartToRawPart(nPartId, New Point3d(dTempPosX - vtDeltaBox.x, dTempPosY - vtDeltaBox.y, 0), ParentMachGroupVM.MyMachGroupM.nRawPartId)
|
||||
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.WALL Then
|
||||
' recupero box del pezzo
|
||||
Dim b3Part As New BBox3d
|
||||
EgtGetBBoxGlob(nPartId, GDB_BB.STANDARD, b3Part)
|
||||
' calcolo distanza tra i box
|
||||
Dim vtDeltaBox As Vector3d = b3Box.Min - b3Part.Min
|
||||
' reinserisco il pezzo nel grezzo
|
||||
EgtAddPartToRawPart(nPartId, New Point3d(dTempPosX - vtDeltaBox.x, dTempPosY - vtDeltaBox.y, 0), ParentMachGroupVM.MyMachGroupM.nRawPartId)
|
||||
ElseIf Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.BEAM Then
|
||||
' elimino vecchio grezzo ed eseguo script creazione nuovo
|
||||
DeleteOldRaw()
|
||||
Dim sLogPath As String = Map.refMainWindowVM.MainWindowM.sTempDir & "\RawPartLog.txt"
|
||||
If Not ExecBeam(sLogPath, Map.refMachinePanelVM.SelectedMachine.Name, CalcIntegration.CmdTypes.RAWPART, False) Then
|
||||
EgtOutLog("Fallita creazione barra nell'ExecBeam in bFlip")
|
||||
' elimino vecchio grezzo ed eseguo script creazione nuovo
|
||||
DeleteOldRaw()
|
||||
If EgtRotate(nPartId, b3Box.Center, vtAxes, 180, GDB_RT.GLOB) Then
|
||||
m_PartM.nFLIP = 180
|
||||
EgtSetInfo(nPartId, MGR_PRT_FLIP, 180)
|
||||
Else
|
||||
NotifyPropertyChanged(NameOf(m_PartM.nFLIP))
|
||||
End If
|
||||
If Not ExecBeam(sLogPath, Map.refMachinePanelVM.SelectedMachine.Name, CalcIntegration.CmdTypes.RAWPART, False) Then
|
||||
EgtOutLog("Fallita esecuzione ExecBeam. ERRORE")
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
' lo riseleziono
|
||||
EgtSelectObj(nPartId)
|
||||
' resetto validazione del pezzo
|
||||
@@ -289,66 +317,140 @@ Public Class PartVM
|
||||
End Sub
|
||||
|
||||
Private Sub Rotate(IsPositive As Boolean)
|
||||
' salvo posizione
|
||||
Dim dTempPosX As Double = m_PartM.dPOSX
|
||||
Dim dTempPosY As Double = m_PartM.dPOSY
|
||||
' tolgo il pezzo dal grezzo
|
||||
EgtRemovePartFromRawPart(nPartId)
|
||||
' recupero layer del box
|
||||
Dim nBoxLayerId As Integer = EgtGetFirstNameInGroup(nPartId, "Box")
|
||||
' recupero box del layer box
|
||||
Dim b3Box As New BBox3d
|
||||
EgtGetBBoxGlob(nBoxLayerId, GDB_BB.STANDARD, b3Box)
|
||||
' se invertito lo reinverto
|
||||
Dim bFliped As Boolean = bFLIP
|
||||
If bFliped Then EgtRotate(nPartId, b3Box.Center, Vector3d.X_AX, 180, GDB_RT.GLOB)
|
||||
Dim dAng As Double = If(IsPositive, 90, -90)
|
||||
' eseguo rotazione
|
||||
Dim bOk As Boolean = EgtRotate(nPartId, b3Box.Center, -Vector3d.Z_AX, dAng, GDB_RT.GLOB)
|
||||
If bOk Then
|
||||
Dim TempRot = m_PartM.dROT
|
||||
TempRot += dAng
|
||||
If TempRot >= 360 Then
|
||||
TempRot -= 360
|
||||
ElseIf TempRot < 0 Then
|
||||
TempRot += 360
|
||||
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.BEAM Then
|
||||
' elimino vecchio grezzo ed eseguo script creazione nuovo
|
||||
DeleteOldRaw()
|
||||
' recupero layer del box
|
||||
Dim nBoxLayerId As Integer = EgtGetFirstNameInGroup(nPartId, "Box")
|
||||
' recupero box del layer box
|
||||
Dim b3Box As New BBox3d
|
||||
EgtGetBBoxGlob(nBoxLayerId, GDB_BB.STANDARD, b3Box)
|
||||
' se invertito lo reinverto
|
||||
If bFLIP Then EgtRotate(nPartId, b3Box.Center, Vector3d.Z_AX, 180, GDB_RT.GLOB)
|
||||
' eseguo rotazione attorno asse X
|
||||
Dim dRot As Integer = 0
|
||||
If dW <> dH Then
|
||||
dRot = If(IsPositive, 180, -180)
|
||||
ElseIf dW = dH Then
|
||||
dRot = If(IsPositive, 90, -90)
|
||||
End If
|
||||
m_PartM.dROT = TempRot
|
||||
EgtSetInfo(nPartId, MGR_PRT_ROT, m_PartM.dROT)
|
||||
End If
|
||||
' ripristino eventuale inversione
|
||||
If bFliped Then EgtRotate(nPartId, b3Box.Center, Vector3d.X_AX, 180, GDB_RT.GLOB)
|
||||
' recupero box del pezzo
|
||||
Dim b3Part As New BBox3d
|
||||
EgtGetBBoxGlob(nPartId, GDB_BB.STANDARD, b3Part)
|
||||
'aggiorno box del box con rotazione
|
||||
EgtGetBBoxGlob(nBoxLayerId, GDB_BB.STANDARD, b3Box)
|
||||
' calcolo distanza tra i box
|
||||
Dim vtDeltaBox As Vector3d = b3Box.Min - b3Part.Min ' Vector3d.NULL
|
||||
' calcolo posizione rispetto al riferimento
|
||||
Select Case Map.refProjectVM.BTLStructureVM.nPROJTYPE
|
||||
Case BWType.WALL
|
||||
' se parete, valuto angolo di posizionamento
|
||||
Select Case CurrentMachine.NestingCorner
|
||||
Case MCH_CR.TL
|
||||
'vtDeltaBox = New Vector3d(b3Box.Min.x - b3Part.Min.x, b3Box.Max.y - b3Part.Max.y, 0)
|
||||
dTempPosY = dTempPosY - dW + dL
|
||||
Case MCH_CR.BL
|
||||
Dim bOk As Boolean = EgtRotate(nPartId, b3Box.Center, Vector3d.X_AX, dRot, GDB_RT.GLOB)
|
||||
If bOk Then
|
||||
Dim TempRot = m_PartM.dROT
|
||||
TempRot += dRot
|
||||
If TempRot >= 360 Then
|
||||
TempRot -= 360
|
||||
ElseIf TempRot < 0 Then
|
||||
TempRot += 360
|
||||
End If
|
||||
m_PartM.dROT = TempRot
|
||||
EgtSetInfo(nPartId, MGR_PRT_ROT, m_PartM.dROT)
|
||||
End If
|
||||
' ripristino eventuale inversione
|
||||
If bFLIP Then EgtRotate(nPartId, b3Box.Center, Vector3d.Z_AX, 180, GDB_RT.GLOB)
|
||||
Dim sLogPath As String = Map.refMainWindowVM.MainWindowM.sTempDir & "\RawPartLog.txt"
|
||||
If Not ExecBeam(sLogPath, Map.refMachinePanelVM.SelectedMachine.Name, CalcIntegration.CmdTypes.RAWPART, False) Then
|
||||
EgtOutLog("Fallita creazione barra nell'ExecBeam in Rotate")
|
||||
' elimino vecchio grezzo ed eseguo script creazione nuovo
|
||||
DeleteOldRaw()
|
||||
' annullo Flip
|
||||
If bFLIP Then EgtRotate(nPartId, b3Box.Center, Vector3d.Z_AX, 180, GDB_RT.GLOB)
|
||||
' ripristino rotazione
|
||||
Dim dRotation As Integer = 0
|
||||
If dW <> dH Then
|
||||
dRotation = m_PartM.dROT + dRot
|
||||
m_PartM.dROT = dRotation
|
||||
If dRotation >= 360 Then
|
||||
dRotation = dRot
|
||||
m_PartM.dROT = 0
|
||||
End If
|
||||
ElseIf dW = dH Then
|
||||
dRotation = m_PartM.dROT - dRot
|
||||
If dRotation = 0 Then
|
||||
dRotation = 3 * dRot
|
||||
m_PartM.dROT = 0
|
||||
ElseIf dRotation = 90 Then
|
||||
dRotation += 2 * dRot
|
||||
m_PartM.dROT = 90
|
||||
ElseIf dRotation = 180 Then
|
||||
dRotation += dRot
|
||||
m_PartM.dROT = 180
|
||||
ElseIf dRotation < 0 Then
|
||||
dRotation += 4 * dRot
|
||||
m_PartM.dROT = 270
|
||||
End If
|
||||
End If
|
||||
EgtRotate(nPartId, b3Box.Center, Vector3d.X_AX, dRotation, GDB_RT.GLOB)
|
||||
' salvo informazione
|
||||
EgtSetInfo(nPartId, MGR_PRT_ROT, m_PartM.dROT)
|
||||
' annullo Flip
|
||||
If bFLIP Then EgtRotate(nPartId, b3Box.Center, Vector3d.Z_AX, 180, GDB_RT.GLOB)
|
||||
If Not ExecBeam(sLogPath, Map.refMachinePanelVM.SelectedMachine.Name, CalcIntegration.CmdTypes.RAWPART, False) Then
|
||||
EgtOutLog("Fallita esecuzione ExecBeam. ERRORE")
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(m_PartM.dROT))
|
||||
End If
|
||||
ElseIf Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.WALL Then
|
||||
' salvo posizione
|
||||
Dim dTempPosX As Double = m_PartM.dPOSX
|
||||
Dim dTempPosY As Double = m_PartM.dPOSY
|
||||
' tolgo il pezzo dal grezzo
|
||||
EgtRemovePartFromRawPart(nPartId)
|
||||
' recupero layer del box
|
||||
Dim nBoxLayerId As Integer = EgtGetFirstNameInGroup(nPartId, "Box")
|
||||
' recupero box del layer box
|
||||
Dim b3Box As New BBox3d
|
||||
EgtGetBBoxGlob(nBoxLayerId, GDB_BB.STANDARD, b3Box)
|
||||
' se invertito lo reinverto
|
||||
If bFLIP Then EgtRotate(nPartId, b3Box.Center, Vector3d.X_AX, 180, GDB_RT.GLOB)
|
||||
Dim dAng As Double = If(IsPositive, 90, -90)
|
||||
' eseguo rotazione
|
||||
Dim bOk As Boolean = EgtRotate(nPartId, b3Box.Center, -Vector3d.Z_AX, dAng, GDB_RT.GLOB)
|
||||
If bOk Then
|
||||
Dim TempRot = m_PartM.dROT
|
||||
TempRot += dAng
|
||||
If TempRot >= 360 Then
|
||||
TempRot -= 360
|
||||
ElseIf TempRot < 0 Then
|
||||
TempRot += 360
|
||||
End If
|
||||
m_PartM.dROT = TempRot
|
||||
EgtSetInfo(nPartId, MGR_PRT_ROT, m_PartM.dROT)
|
||||
End If
|
||||
' ripristino eventuale inversione
|
||||
If bFLIP Then EgtRotate(nPartId, b3Box.Center, Vector3d.X_AX, 180, GDB_RT.GLOB)
|
||||
' recupero box del pezzo
|
||||
Dim b3Part As New BBox3d
|
||||
EgtGetBBoxGlob(nPartId, GDB_BB.STANDARD, b3Part)
|
||||
'aggiorno box del box con rotazione
|
||||
EgtGetBBoxGlob(nBoxLayerId, GDB_BB.STANDARD, b3Box)
|
||||
' calcolo distanza tra i box
|
||||
Dim vtDeltaBox As Vector3d = b3Box.Min - b3Part.Min ' Vector3d.NULL
|
||||
' calcolo posizione rispetto al riferimento
|
||||
Select Case Map.refProjectVM.BTLStructureVM.nPROJTYPE
|
||||
Case BWType.WALL
|
||||
' se parete, valuto angolo di posizionamento
|
||||
Select Case CurrentMachine.NestingCorner
|
||||
Case MCH_CR.TL
|
||||
'vtDeltaBox = New Vector3d(b3Box.Min.x - b3Part.Min.x, b3Box.Max.y - b3Part.Max.y, 0)
|
||||
dTempPosY = dTempPosY - dW + dL
|
||||
Case MCH_CR.BL
|
||||
'vtDeltaBox = b3Box.Min - b3Part.Min
|
||||
' non cambio posizioni
|
||||
Case MCH_CR.TR
|
||||
'vtDeltaBox = b3Box.Max - b3Part.Max
|
||||
dTempPosX = dTempPosX - dL + dW
|
||||
dTempPosY = dTempPosY - dW + dL
|
||||
Case MCH_CR.BR
|
||||
'vtDeltaBox = New Vector3d(b3Box.Max.x - b3Part.Max.x, b3Box.Min.y - b3Part.Min.y, 0)
|
||||
dTempPosX = dTempPosX - dL + dW
|
||||
End Select
|
||||
Case Else
|
||||
' non cambio nulla
|
||||
End Select
|
||||
' reinserisco il pezzo nel grezzo
|
||||
EgtAddPartToRawPart(nPartId, New Point3d(dTempPosX - vtDeltaBox.x, dTempPosY - vtDeltaBox.y, 0), ParentMachGroupVM.MyMachGroupM.nRawPartId)
|
||||
Case MCH_CR.TR
|
||||
'vtDeltaBox = b3Box.Max - b3Part.Max
|
||||
dTempPosX = dTempPosX - dL + dW
|
||||
dTempPosY = dTempPosY - dW + dL
|
||||
Case MCH_CR.BR
|
||||
'vtDeltaBox = New Vector3d(b3Box.Max.x - b3Part.Max.x, b3Box.Min.y - b3Part.Min.y, 0)
|
||||
dTempPosX = dTempPosX - dL + dW
|
||||
End Select
|
||||
Case Else
|
||||
' non cambio nulla
|
||||
End Select
|
||||
' reinserisco il pezzo nel grezzo
|
||||
EgtAddPartToRawPart(nPartId, New Point3d(dTempPosX - vtDeltaBox.x, dTempPosY - vtDeltaBox.y, 0), ParentMachGroupVM.MyMachGroupM.nRawPartId)
|
||||
End If
|
||||
' lo riseleziono
|
||||
EgtSelectObj(nPartId)
|
||||
' resetto validazione del pezzo
|
||||
@@ -356,6 +458,14 @@ Public Class PartVM
|
||||
NotifyPropertyChanged(NameOf(sROT))
|
||||
End Sub
|
||||
|
||||
Private Sub DeleteOldRaw()
|
||||
Dim nRawId As Integer = EgtGetFirstRawPart()
|
||||
While nRawId <> GDB_ID.NULL
|
||||
EgtRemoveRawPart(nRawId)
|
||||
nRawId = EgtGetFirstRawPart()
|
||||
End While
|
||||
End Sub
|
||||
|
||||
Friend Sub SelectBTLPart()
|
||||
' eseguo la selezione nella lista pezzi
|
||||
Dim nBTLPartId As Integer = MyMachGroupPanelM.DuploGetOriginal(nPartId)
|
||||
|
||||
@@ -242,8 +242,8 @@ Public Class MainWindowM
|
||||
EgtSetLockId( sLockId)
|
||||
End If
|
||||
' Recupero livello e opzioni della chiave
|
||||
Dim bKey As Boolean = EgtGetKeyLevel(5327, 2610, 1, m_nKeyLevel) And
|
||||
EgtGetKeyOptions(5327, 2610, 1, m_nKeyOptions)
|
||||
Dim bKey As Boolean = EgtGetKeyLevel(5327, 2512, 1, m_nKeyLevel) And
|
||||
EgtGetKeyOptions(5327, 2512, 1, m_nKeyOptions)
|
||||
' Inizializzazione generale di EgtInterface
|
||||
m_nDebug = GetMainPrivateProfileInt(S_GENERAL, K_DEBUG, 0)
|
||||
m_sLogFile = m_sTempDir & "\" & VWOPTGENLOG_FILE_NAME.Replace("#", m_nInstance.ToString())
|
||||
|
||||
@@ -30,7 +30,7 @@ Imports System.Windows
|
||||
#End If
|
||||
<Assembly: AssemblyCompany("Egalware s.r.l.")>
|
||||
<Assembly: AssemblyProduct("EgtBEAMWALL.ViewerOptimizer")>
|
||||
<Assembly: AssemblyCopyright("Copyright © 2020-2024 by Egalware s.r.l.")>
|
||||
<Assembly: AssemblyCopyright("Copyright © 2020-2023 by Egalware s.r.l.")>
|
||||
<Assembly: AssemblyTrademark("")>
|
||||
<Assembly: ComVisible(false)>
|
||||
|
||||
@@ -70,5 +70,5 @@ Imports System.Windows
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("2.6.10.1")>
|
||||
<Assembly: AssemblyFileVersion("2.6.10.1")>
|
||||
<Assembly: AssemblyVersion("2.5.12.2")>
|
||||
<Assembly: AssemblyFileVersion("2.5.12.2")>
|
||||
|
||||
@@ -13,33 +13,58 @@ Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "EgtBEAMWALL.Core", "EgtBEAM
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
RemoteDebug|x64 = RemoteDebug|x64
|
||||
RemoteDebug|x86 = RemoteDebug|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{57291955-F9C4-4466-8D53-476D43BA3659}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{57291955-F9C4-4466-8D53-476D43BA3659}.Debug|x64.Build.0 = Debug|x64
|
||||
{57291955-F9C4-4466-8D53-476D43BA3659}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{57291955-F9C4-4466-8D53-476D43BA3659}.Debug|x86.Build.0 = Debug|x86
|
||||
{57291955-F9C4-4466-8D53-476D43BA3659}.Release|x64.ActiveCfg = Release|x64
|
||||
{57291955-F9C4-4466-8D53-476D43BA3659}.Release|x64.Build.0 = Release|x64
|
||||
{57291955-F9C4-4466-8D53-476D43BA3659}.Release|x86.ActiveCfg = Release|x86
|
||||
{57291955-F9C4-4466-8D53-476D43BA3659}.Release|x86.Build.0 = Release|x86
|
||||
{57291955-F9C4-4466-8D53-476D43BA3659}.RemoteDebug|x64.ActiveCfg = RemoteDebug|x64
|
||||
{57291955-F9C4-4466-8D53-476D43BA3659}.RemoteDebug|x64.Build.0 = RemoteDebug|x64
|
||||
{57291955-F9C4-4466-8D53-476D43BA3659}.RemoteDebug|x86.ActiveCfg = RemoteDebug|x86
|
||||
{57291955-F9C4-4466-8D53-476D43BA3659}.RemoteDebug|x86.Build.0 = RemoteDebug|x86
|
||||
{B71DA327-38C8-4305-BBA1-34F3F3F32405}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{B71DA327-38C8-4305-BBA1-34F3F3F32405}.Debug|x64.Build.0 = Debug|x64
|
||||
{B71DA327-38C8-4305-BBA1-34F3F3F32405}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{B71DA327-38C8-4305-BBA1-34F3F3F32405}.Debug|x86.Build.0 = Debug|x86
|
||||
{B71DA327-38C8-4305-BBA1-34F3F3F32405}.Release|x64.ActiveCfg = Release|x64
|
||||
{B71DA327-38C8-4305-BBA1-34F3F3F32405}.Release|x64.Build.0 = Release|x64
|
||||
{B71DA327-38C8-4305-BBA1-34F3F3F32405}.Release|x86.ActiveCfg = Release|x86
|
||||
{B71DA327-38C8-4305-BBA1-34F3F3F32405}.Release|x86.Build.0 = Release|x86
|
||||
{B71DA327-38C8-4305-BBA1-34F3F3F32405}.RemoteDebug|x64.ActiveCfg = RemoteDebug|x64
|
||||
{B71DA327-38C8-4305-BBA1-34F3F3F32405}.RemoteDebug|x64.Build.0 = RemoteDebug|x64
|
||||
{B71DA327-38C8-4305-BBA1-34F3F3F32405}.RemoteDebug|x86.ActiveCfg = RemoteDebug|x86
|
||||
{B71DA327-38C8-4305-BBA1-34F3F3F32405}.RemoteDebug|x86.Build.0 = RemoteDebug|x86
|
||||
{24D7760E-662A-47E4-B729-B70126C24A31}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{24D7760E-662A-47E4-B729-B70126C24A31}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{24D7760E-662A-47E4-B729-B70126C24A31}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{24D7760E-662A-47E4-B729-B70126C24A31}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{24D7760E-662A-47E4-B729-B70126C24A31}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{24D7760E-662A-47E4-B729-B70126C24A31}.Release|x64.Build.0 = Release|Any CPU
|
||||
{24D7760E-662A-47E4-B729-B70126C24A31}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{24D7760E-662A-47E4-B729-B70126C24A31}.Release|x86.Build.0 = Release|Any CPU
|
||||
{24D7760E-662A-47E4-B729-B70126C24A31}.RemoteDebug|x64.ActiveCfg = Release|Any CPU
|
||||
{24D7760E-662A-47E4-B729-B70126C24A31}.RemoteDebug|x86.ActiveCfg = Release|Any CPU
|
||||
{24D7760E-662A-47E4-B729-B70126C24A31}.RemoteDebug|x86.Build.0 = Release|Any CPU
|
||||
{F22835A1-83D8-4334-91BB-BAAEB9CF59B1}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{F22835A1-83D8-4334-91BB-BAAEB9CF59B1}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{F22835A1-83D8-4334-91BB-BAAEB9CF59B1}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{F22835A1-83D8-4334-91BB-BAAEB9CF59B1}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{F22835A1-83D8-4334-91BB-BAAEB9CF59B1}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{F22835A1-83D8-4334-91BB-BAAEB9CF59B1}.Release|x64.Build.0 = Release|Any CPU
|
||||
{F22835A1-83D8-4334-91BB-BAAEB9CF59B1}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{F22835A1-83D8-4334-91BB-BAAEB9CF59B1}.Release|x86.Build.0 = Release|Any CPU
|
||||
{F22835A1-83D8-4334-91BB-BAAEB9CF59B1}.RemoteDebug|x64.ActiveCfg = Release|Any CPU
|
||||
{F22835A1-83D8-4334-91BB-BAAEB9CF59B1}.RemoteDebug|x86.ActiveCfg = Release|Any CPU
|
||||
{F22835A1-83D8-4334-91BB-BAAEB9CF59B1}.RemoteDebug|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user