Merge branch 'feature/ThirdMachineNoBigParts'
This commit is contained in:
+2
-2
@@ -161,7 +161,7 @@ Config.Kerf = {{MatId = 1, MatExtCode = 6120, Kerf = 8},
|
||||
{MatId = 11, MatExtCode = 6423, Kerf = 20},
|
||||
{MatId = 12, MatExtCode = 112268, Kerf = 20},
|
||||
{MatId = 13, MatExtCode = 119169, Kerf = 20},
|
||||
{MatId = 14, MatExtCode = 121214, Kerf = 20},
|
||||
{MatId = 14, MatExtCode = 121214, Kerf = 10},
|
||||
{MatId = 15, MatExtCode = 111625, Kerf = 20},
|
||||
{MatId = 16, MatExtCode = 6127, Kerf = 20},
|
||||
{MatId = 17, MatExtCode = 6044, Kerf = 20},
|
||||
@@ -174,7 +174,7 @@ Config.Kerf = {{MatId = 1, MatExtCode = 6120, Kerf = 8},
|
||||
{MatId = 26, MatExtCode = 127662, Kerf = 20},
|
||||
{MatId = 27, MatExtCode = 127663, Kerf = 20},
|
||||
{MatId = 28, MatExtCode = 127664, Kerf = 20},
|
||||
{MatId = 29, MatExtCode = 127665, Kerf = 20},
|
||||
{MatId = 29, MatExtCode = 127665, Kerf = 10},
|
||||
}
|
||||
|
||||
Config.KitXModel = {{Model = '65w981', KitQty = 6},
|
||||
|
||||
@@ -279,7 +279,7 @@ function Nesting(readBatch)
|
||||
local MatSheetList = {}
|
||||
--for Material = 1, #materials do
|
||||
for Material = MatIndex, MatCount do
|
||||
--for Material = 2, 2 do
|
||||
-- for Material = 15, 15 do
|
||||
--for Material = 4, 4 do
|
||||
-- se è il materiale nullo salto al prossimo
|
||||
if materials[Material].MatId ~= 0 and #materials[Material].PriorityList > 0 then
|
||||
@@ -388,6 +388,7 @@ function Nesting(readBatch)
|
||||
-- calcolo lavorazioni, stime, ecc
|
||||
NestingLib.PostNestOp(materials[Material], ErrorList, false, readBatch.BatchId, 1)
|
||||
NestingLib.PostNestOp(materials[Material], ErrorList, false, readBatch.BatchId, 2)
|
||||
NestingLib.PostNestOp(materials[Material], ErrorList, false, readBatch.BatchId, 3)
|
||||
if ManageError(ErrorList, readBatch) then return end
|
||||
|
||||
-- salvo il progetto di nesting
|
||||
@@ -1089,6 +1090,12 @@ function ExtendedEstimate(readBatch)
|
||||
end
|
||||
--
|
||||
|
||||
-- verifico che non ci siano istanze gia' in corso
|
||||
if not EgtCreateMutex('Global\\MainNKCLuaScript') then
|
||||
EgtOutLog( 'Impossible starting script! Script already in execution!')
|
||||
EgtOutBox( 'Script already running! Impossible running another instance at the same time!!', 'Error' , 'ERROR', 'OK')
|
||||
EgtCloseExe()
|
||||
end
|
||||
-- ciclo principale
|
||||
while true do
|
||||
EgtNewFile()
|
||||
@@ -1114,5 +1121,5 @@ while true do
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
EgtReleaseMutex()
|
||||
|
||||
+44
-20
@@ -131,7 +131,7 @@ function NestingLib.FilterPaintedParts(OrderList, materials, ErrorList)
|
||||
end
|
||||
|
||||
-- ordino per modelli kit
|
||||
function compareOrderExtCode(a,b)
|
||||
local function compareOrderExtCode(a,b)
|
||||
return a.OrderCod < b.OrderCod
|
||||
end
|
||||
table.sort(OrderList, compareOrderExtCode)
|
||||
@@ -602,7 +602,7 @@ local function AddPartListToNesting(PartList, ErrorList, Material)
|
||||
end
|
||||
-- se entro la tolleranza
|
||||
if -OutlineDepth >= (Material.T_mm - Config.ThicknessTolerance) and -OutlineDepth <= (Material.T_mm + Config.ThicknessTolerance) then
|
||||
EgtModifyCurveThickness(OutlineId, -Material.T_mm)
|
||||
EgtModifyCurveThickness(OutlineId, - Material.T_mm)
|
||||
end
|
||||
-- se il percorso non è chiuso
|
||||
if not EgtCurveIsClosed(OutlineId) then
|
||||
@@ -897,6 +897,9 @@ local function SetMachineByIndex(MachId)
|
||||
elseif MachId == 2 then
|
||||
sCurrMachName = "Multiax-NE_Nest02"
|
||||
EgtSetCurrMachine(sCurrMachName)
|
||||
elseif MachId == 3 then
|
||||
sCurrMachName = "Multiax-NE_Nest03"
|
||||
EgtSetCurrMachine(sCurrMachName)
|
||||
end
|
||||
end
|
||||
--
|
||||
@@ -915,6 +918,7 @@ local function CreateMachSheets(LastMachGroupId, SheetPartId, Material, PartList
|
||||
local Sheet = {PartList = {}}
|
||||
local bFirstSheet = true
|
||||
local nMach2SheetId = FirstMachIndex
|
||||
local nMach3SheetId = FirstMachIndex
|
||||
for i = 0, 999 do
|
||||
local nType, nId, nFlag, dX, dY, dAngRot = EgtAutoNestGetOneResult( i)
|
||||
if not nType then break end
|
||||
@@ -932,6 +936,9 @@ local function CreateMachSheets(LastMachGroupId, SheetPartId, Material, PartList
|
||||
if MachId == 2 then
|
||||
nRawId = EgtGetInfo(nRawId, 'LastRaw2')
|
||||
EgtSetCurrMachGroup(EgtGetParent(EgtGetParent(nRawId)))
|
||||
elseif MachId == 3 then
|
||||
nRawId = EgtGetInfo(nRawId, 'LastRaw3')
|
||||
EgtSetCurrMachGroup(EgtGetParent(EgtGetParent(nRawId)))
|
||||
end
|
||||
-- imposto foglio
|
||||
Sheet = Material.SheetList[#Material.SheetList]
|
||||
@@ -947,6 +954,10 @@ local function CreateMachSheets(LastMachGroupId, SheetPartId, Material, PartList
|
||||
--MachGroupName = "Sheet" .. nRaw1Id
|
||||
MachGroupName = EgtGetMachGroupNewName("M2_Sheet")
|
||||
MachGroupName = "M2Sheet" .. nMach2SheetId
|
||||
elseif MachId == 3 then
|
||||
nMach3SheetId = nMach3SheetId + 1
|
||||
MachGroupName = EgtGetMachGroupNewName("M3_Sheet")
|
||||
MachGroupName = "M3Sheet" .. nMach3SheetId
|
||||
else
|
||||
MachGroupName = "Sheet" .. #Material.SheetList + 1 --SheetCounter
|
||||
end
|
||||
@@ -956,10 +967,14 @@ local function CreateMachSheets(LastMachGroupId, SheetPartId, Material, PartList
|
||||
-- end
|
||||
local bOk = EgtAddMachGroup(MachGroupName, sCurrMachName)
|
||||
-- se macchina 2 aggiungo info e riferimento a foglio della macchina 1
|
||||
if MachId ==2 then
|
||||
if MachId == 2 then
|
||||
EgtSetInfo(EgtGetCurrMachGroup(), 'MachId', MachId)
|
||||
local nOrigSheetId = EgtGetMachGroupId("Sheet" .. nMach2SheetId)
|
||||
EgtSetInfo(EgtGetCurrMachGroup(), 'OrigSheetId', nOrigSheetId)
|
||||
elseif MachId == 3 then
|
||||
EgtSetInfo(EgtGetCurrMachGroup(), 'MachId', MachId)
|
||||
local nOrigSheetId = EgtGetMachGroupId("Sheet" .. nMach3SheetId)
|
||||
EgtSetInfo(EgtGetCurrMachGroup(), 'OrigSheetId', nOrigSheetId)
|
||||
end
|
||||
-- imposto tavola
|
||||
local vtOffs = UtilityLib.SetupMachineTable(IsOffline)
|
||||
@@ -983,7 +998,7 @@ local function CreateMachSheets(LastMachGroupId, SheetPartId, Material, PartList
|
||||
--EgtOutLog( string.format( ' Part %d pos=%f,%f rot=%f flip=%d', nId, dX, dY, dAngRot, nFlag))
|
||||
-- se ho un grezzo valido metto i pezzi
|
||||
local PartId = nId
|
||||
if MachId ~= 2 then
|
||||
if MachId ~= 2 and MachId ~= 3 then
|
||||
if nFlag ~= 0 then
|
||||
EgtMirror( PartId, ORIG(), Y_AX(), GDB_RT.GLOB)
|
||||
end
|
||||
@@ -1056,7 +1071,7 @@ function NestingLib.NestPartInRawPart(LastRaw, PartList, Material, ErrorList, Is
|
||||
dKerf = Config.Kerf[Index].Kerf
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- verifico se ultimo grezzo non nullo
|
||||
local LastMachGroupId = nil
|
||||
if LastRaw and LastRaw ~= GDB_ID.NULL then
|
||||
@@ -1155,10 +1170,12 @@ function NestingLib.NestPartInRawPart(LastRaw, PartList, Material, ErrorList, Is
|
||||
if not IsOffline and not IsEstimate and not IsValidation then
|
||||
LastRaw2 = CreateMachSheets(LastMachGroupId, SheetPartId, Material, PartList, 2, LastRaw, FirstMachIndex)
|
||||
EgtSetInfo(LastRaw, 'LastRaw2', LastRaw2)
|
||||
LastRaw3 = CreateMachSheets(LastMachGroupId, SheetPartId, Material, PartList, 3, LastRaw, FirstMachIndex)
|
||||
EgtSetInfo(LastRaw, 'LastRaw3', LastRaw3)
|
||||
end
|
||||
-- se impostata seconda macchina, reimposto la prima
|
||||
local sMachName = EgtGetCurrMachineName()
|
||||
if sMachName == 'Multiax-NE_Nest02' then
|
||||
if sMachName == 'Multiax-NE_Nest02' or sMachName == 'Multiax-NE_Nest03' then
|
||||
SetMachineByIndex(1)
|
||||
end
|
||||
else
|
||||
@@ -1318,7 +1335,7 @@ function NestingLib.VerifyPath(Folder, BatchId, Material, MachId)
|
||||
end
|
||||
end
|
||||
-- scelgo nome cartella macchina
|
||||
if MachId == 0 or MachId == 1 or MachId == 2 then
|
||||
if MachId == 0 or MachId == 1 or MachId == 2 or MachId == 3 then
|
||||
local MachDirName = ''
|
||||
if MachId == 0 then
|
||||
MachDirName = '##REPLACEME##'
|
||||
@@ -1326,6 +1343,8 @@ function NestingLib.VerifyPath(Folder, BatchId, Material, MachId)
|
||||
MachDirName = 'NE01'
|
||||
elseif MachId == 2 then
|
||||
MachDirName = 'NE02'
|
||||
elseif MachId == 3 then
|
||||
MachDirName = 'NE03'
|
||||
end
|
||||
CurrPath = CurrPath .. "/".. MachDirName
|
||||
if not UtilityLib.FolderExists(CurrPath) then
|
||||
@@ -1348,13 +1367,13 @@ function NestingLib.PostNestOp(Material, ErrorList, IsEstimate, BatchId, MachId)
|
||||
local PartsPriority = {}
|
||||
local CurrMachGroupId = EgtGetMachGroupId(Material.SheetList[Sheet].MachGroupName)
|
||||
-- se seconda macchina, imposto gruppo di lavorazione copia
|
||||
if MachId == 2 then
|
||||
if MachId == 2 or MachId == 3 then
|
||||
-- recupero id grezzo originale
|
||||
local nRawPartId = EgtGetFirstRawPart()
|
||||
-- cerco gruppo copia con id grezzo originale
|
||||
local nMachGroupId = EgtGetFirstMachGroup()
|
||||
while nMachGroupId do
|
||||
if EgtGetInfo(nMachGroupId, 'OrigSheetId', 'i') == CurrMachGroupId and EgtGetInfo(nMachGroupId, 'MachId', 'i') == 2 then
|
||||
if EgtGetInfo(nMachGroupId, 'OrigSheetId', 'i') == CurrMachGroupId and EgtGetInfo(nMachGroupId, 'MachId', 'i') == MachId then
|
||||
EgtSetCurrMachGroup(nMachGroupId)
|
||||
end
|
||||
nMachGroupId = EgtGetNextMachGroup(nMachGroupId)
|
||||
@@ -1388,7 +1407,7 @@ function NestingLib.PostNestOp(Material, ErrorList, IsEstimate, BatchId, MachId)
|
||||
else
|
||||
PartsArea = CreateMachByOrderedType(Material, CurrRawPart, PartsBBox, nSkeletonLayerId, PartsPriority, ErrorList)
|
||||
end
|
||||
if MachId ~= 2 then
|
||||
if MachId ~= 2 and MachId ~= 3 then
|
||||
-- imposto area totale dei pezzi
|
||||
Material.SheetList[Sheet].SurfaceWork = PartsArea
|
||||
-- calcolo area esterna
|
||||
@@ -1599,7 +1618,7 @@ function NestingLib.PostNestOp(Material, ErrorList, IsEstimate, BatchId, MachId)
|
||||
EgtApplyAllMachinings()
|
||||
-- aggiorno lavorazione un'altra volta per migliorare posizioni eventuali tab
|
||||
EgtApplyAllMachinings()
|
||||
if MachId ~= 2 then
|
||||
if MachId ~= 2 and MachId ~= 3 then
|
||||
-- ricavo stime
|
||||
local CurrEstimatePath = NestingLib.VerifyPath("Estimate", BatchId, Material)
|
||||
if not UtilityLib.FolderExists(CurrEstimatePath) then
|
||||
@@ -1632,7 +1651,7 @@ function NestingLib.PostNestOp(Material, ErrorList, IsEstimate, BatchId, MachId)
|
||||
else
|
||||
CurrCNCPath = CurrCNCPath .. "/" .. Material.SheetList[Sheet].MachGroupName .. ".cnc"
|
||||
end
|
||||
if MachId == 2 then
|
||||
if MachId == 2 or MachId == 3 then
|
||||
Material.SheetList[Sheet].MachiningProgram = DBCurrCNCPath .. "/" .. Material.SheetList[Sheet].MachGroupName .. ".cnc"
|
||||
else
|
||||
Material.SheetList[Sheet].MachiningProgram = CurrCNCPath
|
||||
@@ -1651,7 +1670,7 @@ function NestingLib.PostNestOp(Material, ErrorList, IsEstimate, BatchId, MachId)
|
||||
EgtCreateDirectory(CurrPrintPath)
|
||||
end
|
||||
CurrPrintPath = CurrPrintPath .. "/" .. Material.SheetList[Sheet].MachGroupName .. ".cnc"
|
||||
if MachId == 2 then
|
||||
if MachId == 2 or MachId == 3 then
|
||||
Material.SheetList[Sheet].PrintProgram = DBCurrPrintPath .. "/" .. Material.SheetList[Sheet].MachGroupName .. ".cnc"
|
||||
else
|
||||
Material.SheetList[Sheet].PrintProgram = CurrPrintPath
|
||||
@@ -1659,7 +1678,7 @@ function NestingLib.PostNestOp(Material, ErrorList, IsEstimate, BatchId, MachId)
|
||||
bOk = EgtCopyFile(CurrPrintCNCPath, CurrPrintPath)
|
||||
bOk = EgtEraseFile(CurrPrintCNCPath)
|
||||
end
|
||||
if MachId ~= 2 then
|
||||
if MachId ~= 2 and MachId ~= 3 then
|
||||
-- salvo svg del grezzo
|
||||
local CurrSVGPath = NestingLib.VerifyPath("SVG", BatchId, Material)
|
||||
if not UtilityLib.FolderExists(CurrSVGPath) then
|
||||
@@ -1747,10 +1766,12 @@ end
|
||||
end
|
||||
-- scrittura delle linee modificate
|
||||
local fh2 = io.open( LabelSVGPath, 'w')
|
||||
for i = 1, #Lines do
|
||||
fh2:write( Lines[i] .. '\n')
|
||||
if fh2 then
|
||||
for i = 1, #Lines do
|
||||
fh2:write( Lines[i] .. '\n')
|
||||
end
|
||||
fh2:close()
|
||||
end
|
||||
fh2:close()
|
||||
-- fine
|
||||
end
|
||||
|
||||
@@ -1841,7 +1862,7 @@ function CreateMachByType(Material, CurrRawPart, PartsBBox, nSkeletonLayerId, Pa
|
||||
EgtSetName(CutPartsArea, PARTCUTSUM)
|
||||
else
|
||||
if not nPartSurfId then
|
||||
x = 2
|
||||
local x = 2
|
||||
end
|
||||
EgtSurfFrAdd(CutPartsArea, nPartSurfId)
|
||||
end
|
||||
@@ -2433,6 +2454,7 @@ function CalcPartMachinings(Material, CurrPart, bInternalPart, LastMch, nMachTyp
|
||||
EgtSetMachiningParam(MCH_MP.OFFSR, dRadial)
|
||||
EgtSetMachiningParam(MCH_MP.WORKSIDE, MCH_MILL_WS.LEFT)
|
||||
-- applico la lavorazione
|
||||
local bValidOutlineMach = false
|
||||
if EgtApplyMachining() then
|
||||
bValidOutlineMach = true
|
||||
InitInTSP(NewMachId, InternalOutlineList, 0)
|
||||
@@ -2479,6 +2501,7 @@ function CalcPartMachinings(Material, CurrPart, bInternalPart, LastMch, nMachTyp
|
||||
EgtSetMachiningParam(MCH_MP.OFFSR, dRadial)
|
||||
EgtSetMachiningParam(MCH_MP.WORKSIDE, MCH_MILL_WS.RIGHT)
|
||||
-- applico la lavorazione
|
||||
local bValidOutlineMach = false
|
||||
if EgtApplyMachining() then
|
||||
bValidOutlineMach = true
|
||||
InitInTSP(NewMachId, InternalOutlineList, 0)
|
||||
@@ -2526,6 +2549,7 @@ function CalcPartMachinings(Material, CurrPart, bInternalPart, LastMch, nMachTyp
|
||||
EgtSetMachiningParam(MCH_MP.OFFSR, dRadial)
|
||||
EgtSetMachiningParam(MCH_MP.WORKSIDE, MCH_MILL_WS.LEFT)
|
||||
-- applico la lavorazione
|
||||
local bValidOutlineMach = false
|
||||
if EgtApplyMachining() then
|
||||
bValidOutlineMach = true
|
||||
InitInTSP(NewMachId, InternalOutlineList, 0)
|
||||
@@ -2679,8 +2703,8 @@ function NestingLib.ManageMachine(CurrIsOffline)
|
||||
table.insert(OutlineMachining, 2, Config.NWOutlineMachTools)
|
||||
table.insert(HoleMachining, 2, Config.NWHoleMachTools)
|
||||
table.insert(RampMachining, 2, Config.NWRampMachTools[1])
|
||||
table.insert(CountersinkMachining, 2, Config.NWCountersinkMachTools)
|
||||
table.insert(OutsideChamferMachining, 2, Config.MXOutsideChamferMachTools)
|
||||
table.insert(CountersinkMachining, 2, Config.NWCountersinkMachTools[1])
|
||||
table.insert(OutsideChamferMachining, 2, Config.MXOutsideChamferMachTools[1])
|
||||
table.insert(InsideChamferMachining, 2, Config.NWInsideChamferMachTools[1])
|
||||
Pocketing = Config.NWPocketingTools
|
||||
IsOffline = true
|
||||
|
||||
Reference in New Issue
Block a user