From de9fa79f8ad2715b079bdd3fd279ffb21bf7b76e Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Wed, 7 Jun 2023 18:28:12 +0200 Subject: [PATCH] =?UTF-8?q?-=20negli=20outline=20con=20priorit=C3=A0=20da?= =?UTF-8?q?=20btl=20aggiunta=20la=20rimozione=20sfridi=20per=20la=20lavora?= =?UTF-8?q?zione=20successiva?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LuaLibs/WMachiningLib.lua | 8 +++++--- LuaLibs/WProcessDrill.lua | 4 ++-- LuaLibs/WProcessDtMortise.lua | 4 ++-- LuaLibs/WProcessFreeContour.lua | 26 +++++++++++++------------- LuaLibs/WProcessLapJoint.lua | 20 ++++++++++---------- LuaLibs/WProcessMark.lua | 4 ++-- LuaLibs/WProcessMortise.lua | 2 +- LuaLibs/WProcessText.lua | 2 +- LuaLibs/WProcessVariant.lua | 2 +- LuaLibs/WallExec.lua | 33 ++++++++++++++++++++++++++++++--- 10 files changed, 67 insertions(+), 38 deletions(-) diff --git a/LuaLibs/WMachiningLib.lua b/LuaLibs/WMachiningLib.lua index 5194bc0..d5a346c 100644 --- a/LuaLibs/WMachiningLib.lua +++ b/LuaLibs/WMachiningLib.lua @@ -3,6 +3,7 @@ -- 2023/03/09 Piccola correzione alla SideDepth in FindMilling -- In FindMilling aggiunta gestione spessore e massimo materiale nel caso di lam -- 2023/05/25 Aggiunta funzione AddMachining che incapsula EgtAddMachining trascrivendo le priorità btl dalle feature alle lavorazioni. +-- 2023/06/07 Alla funzione AddMachining aggiunta la scrittura dell'info ISOUTLINE alle lavorazioni. -- Tabella per definizione modulo local WMachiningLib = {} @@ -181,12 +182,13 @@ function WMachiningLib.FindSurfacing( sType) end end --- incapsulo EgtAddMachining e trascrivo le priorità all'interno delle note della lavorazione +-- incapsulo EgtAddMachining e trascrivo alcune informazioni utili nelle note dell'operazione --------------------------------------------------------------------- -function WMachiningLib.AddMachining( nProcId, sName, sMachining) +function WMachiningLib.AddMachining( Proc, sName, sMachining) local nMchId, sFinalName = EgtAddMachining( sName, sMachining) - local nPriority = EgtGetInfo( nProcId, 'PRIORITY', 'i') + local nPriority = EgtGetInfo( Proc.Id, 'PRIORITY', 'i') EgtSetInfo( nMchId, 'PRIORITY', nPriority) + EgtSetInfo( nMchId, 'ISOUTLINE', Proc.IsOutline) return nMchId, sFinalName end diff --git a/LuaLibs/WProcessDrill.lua b/LuaLibs/WProcessDrill.lua index 6ea83a8..6865dc9 100644 --- a/LuaLibs/WProcessDrill.lua +++ b/LuaLibs/WProcessDrill.lua @@ -376,7 +376,7 @@ function WPD.Make( Proc, nRawId, b3Raw) end -- inserisco la lavorazione local sName = EgtIf( sHead == 'H5' or sHead == 'H6', 'LhDrill_', 'Drill_') .. ( EgtGetName( Proc.Id) or tostring( Proc.Id)) - local nMchId = WM.AddMachining( Proc.Id, sName, sDrilling) + local nMchId = WM.AddMachining( Proc, sName, sDrilling) if not nMchId then local sErr = 'Error adding machining ' .. sName .. '-' .. sDrilling EgtOutLog( sErr) @@ -506,7 +506,7 @@ function WPD.Make( Proc, nRawId, b3Raw) -- inserisco la lavorazione local sName = 'PreDrill_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id)) - local nMchId = WM.AddMachining( Proc.Id, sName, sDrilling) + local nMchId = WM.AddMachining( Proc, sName, sDrilling) if not nMchId then local sErr = 'Error adding machining ' .. sName .. '-' .. sDrilling EgtOutLog( sErr) diff --git a/LuaLibs/WProcessDtMortise.lua b/LuaLibs/WProcessDtMortise.lua index b46e387..360565b 100644 --- a/LuaLibs/WProcessDtMortise.lua +++ b/LuaLibs/WProcessDtMortise.lua @@ -160,7 +160,7 @@ function WPDM.Make( Proc, nRawId, b3Raw) end -- inserisco la lavorazione di svuotatura local sName = 'DtMtPck_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id)) - local nMchFId = WM.AddMachining( Proc.Id, sName, sPocketing) + local nMchFId = WM.AddMachining( Proc, sName, sPocketing) if not nMchFId then local sErr = 'Error adding machining ' .. sName .. '-' .. sPocketing EgtOutLog( sErr) @@ -190,7 +190,7 @@ function WPDM.Make( Proc, nRawId, b3Raw) for i = nPass, 1, -1 do -- inserisco la lavorazione di contornatura local sNameF = 'DtMt_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id)) .. '_' .. tostring( nPass) - local nMchFId = WM.AddMachining( Proc.Id, sNameF, sMilling) + local nMchFId = WM.AddMachining( Proc, sNameF, sMilling) if not nMchFId then local sErr = 'Error adding machining ' .. sNameF .. '-' .. sMilling EgtOutLog( sErr) diff --git a/LuaLibs/WProcessFreeContour.lua b/LuaLibs/WProcessFreeContour.lua index 1a08ea3..52e3dc8 100644 --- a/LuaLibs/WProcessFreeContour.lua +++ b/LuaLibs/WProcessFreeContour.lua @@ -1020,7 +1020,7 @@ local function AddMillCornerMachining( nPartId, nNewProc, nFacInd, tFacAdj, nTyp end -- inserisco la lavorazione local sName = 'Clean_' .. ( EgtGetName( nNewProc) or tostring( nNewProc)) - local nMchId = WM.AddMachining( nNewProc.Id, sName, sMilling) + local nMchId = WM.AddMachining( nNewProc, sName, sMilling) if not nMchId then local sErr = 'Error adding machining ' .. sName .. '-' .. sMilling EgtOutLog( sErr) @@ -1315,7 +1315,7 @@ local function AddMillings( sMilling, vFace, Proc, nRawId, b3Raw, nConeCut, nAdd if ( vFace[i].Type & 1) ~= 0 and ( not j or vFace[j].Type == 0 or vFace[j].Type == 1 or abs( vFace[i].SideAng) > 0.1 or abs( vFace[j].SideAng) > 0.1) then -- inserisco la lavorazione local sName = 'Free_' .. ( EgtGetName( Proc.PartId) or tostring( Proc.PartId)) - local nMchId = WM.AddMachining( Proc.Id, sName, sMilling) + local nMchId = WM.AddMachining( Proc, sName, sMilling) if not nMchId then local sErr = 'Error adding machining ' .. sName .. '-' .. sMilling EgtOutLog( sErr) @@ -1409,7 +1409,7 @@ local function AddMillings( sMilling, vFace, Proc, nRawId, b3Raw, nConeCut, nAdd if ( vFace[i].Type & 2) ~= 0 or ( vFace[i].Type == 4 and ( vFace[i].Edges > 3 and not vFace[i].Is3EdgesApprox)) then -- inserisco la lavorazione local sName = 'Free_' .. ( EgtGetName( Proc.PartId) or tostring( Proc.PartId)) - local nMchId = WM.AddMachining( Proc.Id, sName, sMilling) + local nMchId = WM.AddMachining( Proc, sName, sMilling) if not nMchId then local sErr = 'Error adding machining ' .. sName .. '-' .. sMilling EgtOutLog( sErr) @@ -1610,7 +1610,7 @@ local function AddMillings( sMilling, vFace, Proc, nRawId, b3Raw, nConeCut, nAdd if vFace[i].Split then -- inserisco la lavorazione local sName = 'Free_' .. ( EgtGetName( Proc.PartId) or tostring( Proc.PartId)) .. '_M' - local nMchId = WM.AddMachining( Proc.Id, sName, sMilling) + local nMchId = WM.AddMachining( Proc, sName, sMilling) if not nMchId then local sErr = 'Error adding machining ' .. sName .. '-' .. sMilling EgtOutLog( sErr) @@ -1701,7 +1701,7 @@ local function AddSawings( sSawing, vFace, Proc, nRawId, b3Raw) if ( vFace[i].Type & 1) ~= 0 then -- inserisco la lavorazione local sName = 'Free_' .. ( EgtGetName( Proc.PartId) or tostring( Proc.PartId)) - local nMchId = WM.AddMachining( Proc.Id, sName, sSawing) + local nMchId = WM.AddMachining( Proc, sName, sSawing) if not nMchId then local sErr = 'Error adding machining ' .. sName .. '-' .. sSawing EgtOutLog( sErr) @@ -1749,7 +1749,7 @@ local function AddSawings( sSawing, vFace, Proc, nRawId, b3Raw) if ( vFace[i].Type & 2) ~= 0 or ( vFace[i].Type == 4 and ( vFace[i].Edges > 3 and not vFace[i].Is3EdgesApprox) and vFace[i].Len > dSawDiam + 1) then -- inserisco la lavorazione local sName = 'Free_' .. ( EgtGetName( Proc.PartId) or tostring( Proc.PartId)) - local nMchId = WM.AddMachining( Proc.Id, sName, sSawing) + local nMchId = WM.AddMachining( Proc, sName, sSawing) if not nMchId then local sErr = 'Error adding machining ' .. sName .. '-' .. sSawing EgtOutLog( sErr) @@ -1820,7 +1820,7 @@ local function AddCuts( sCutting, vFace, Proc, nRawId, b3Raw, dSawThick) local h = EgtIf( i > 1, i - 1, EgtIf( bClosed, #vFace, nil)) -- inserisco la lavorazione local sName = 'Cut_' .. ( EgtGetName( Proc.PartId) or tostring( Proc.PartId)) .. '_' .. tostring( i) - local nMchId = WM.AddMachining( Proc.Id, sName, sCutting) + local nMchId = WM.AddMachining( Proc, sName, sCutting) if not nMchId then local sErr = 'Error adding machining ' .. sName .. '-' .. sCutting EgtOutLog( sErr) @@ -2160,7 +2160,7 @@ local function MakeByMill( Proc, nRawId, b3Raw) end -- inserisco la lavorazione local sName = 'Free_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id)) - local nMchId = WM.AddMachining( Proc.Id, sName, sMilling) + local nMchId = WM.AddMachining( Proc, sName, sMilling) if not nMchId then local sErr = 'Error adding machining ' .. sName .. '-' .. sMilling EgtOutLog( sErr) @@ -2214,8 +2214,8 @@ local function MakeByMill( Proc, nRawId, b3Raw) dStep = max( ( dDepth - dMaxMat) / max( nStep, 1), 0) local dMaxElev = max( ( nStep + 1) * dStep - GEO.EPS_SMALL, 0) EgtSetMachiningParam( MCH_MP.STEP, dStep) - -- imposto elevazione - EgtSetMachiningParam( MCH_MP.USERNOTES, 'MaxElev=' .. EgtNumToString( dMaxElev, 1) .. ';') + -- imposto elevazione e forzo attacco dal lato aperto + EgtSetMachiningParam( MCH_MP.USERNOTES, 'MaxElev=' .. EgtNumToString( dMaxElev, 1) .. ';OutRaw=3;') end -- posizione braccio porta testa @@ -2293,7 +2293,7 @@ local function MakeByMark( Proc, nRawId, b3Raw) end -- inserisco la lavorazione local sName = 'FreeMark_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id)) - local nMchId = WM.AddMachining( Proc.Id, sName, sMilling) + local nMchId = WM.AddMachining( Proc, sName, sMilling) if not nMchId then local sErr = 'Error adding machining ' .. sName .. '-' .. sMilling EgtOutLog( sErr) @@ -2358,7 +2358,7 @@ local function MakeByNail( Proc, nRawId, b3Raw) end -- inserisco la lavorazione local sName = 'Nail_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id)) - local nMchId = WM.AddMachining( Proc.Id, sName, sNailing) + local nMchId = WM.AddMachining( Proc, sName, sNailing) if not nMchId then local sErr = 'Error adding machining ' .. sName .. '-' .. sNailing EgtOutLog( sErr) @@ -2497,7 +2497,7 @@ local function MakeByPocket( Proc, nRawId, b3Raw) end -- inserisco la lavorazione di svuotatura local sName = 'Pock_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id)) - local nMchFId = WM.AddMachining( Proc.Id, sName, sPocketing) + local nMchFId = WM.AddMachining( Proc, sName, sPocketing) if not nMchFId then local sErr = 'Error adding machining ' .. sName .. '-' .. sPocketing EgtOutLog( sErr) diff --git a/LuaLibs/WProcessLapJoint.lua b/LuaLibs/WProcessLapJoint.lua index a5ca104..64f92f3 100644 --- a/LuaLibs/WProcessLapJoint.lua +++ b/LuaLibs/WProcessLapJoint.lua @@ -985,7 +985,7 @@ local function AddMillCornerMachining( nPartId, nNewProc, nFacInd, tFacAdj, nTyp end -- inserisco la lavorazione local sName = 'Clean_' .. ( EgtGetName( nNewProc) or tostring( nNewProc)) - local nMchId = WM.AddMachining( nNewProc.Id, sName, sMilling) + local nMchId = WM.AddMachining( nNewProc, sName, sMilling) if not nMchId then local sErr = 'Error adding machining ' .. sName .. '-' .. sMilling EgtOutLog( sErr) @@ -1276,7 +1276,7 @@ local function MakeByChainSaw( Proc, nFacet, nRawId, b3Raw, dElev, dH, dV) for i = 1, nStep do -- Applico la lavorazione con sega a catena a questa faccia local sName = 'Csaw_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id)) .. '_' .. tostring( i) - local nMchFId = WM.AddMachining( Proc.Id, sName, sSawing) + local nMchFId = WM.AddMachining( Proc, sName, sSawing) if not nMchFId then local sErr = 'Error adding machining ' .. sName .. '-' .. sSawing EgtOutLog( sErr) @@ -1363,7 +1363,7 @@ local function MakeByMill( Proc, nFacet, nOthFac, nRawId, b3Raw, dSideDist) end -- inserisco la lavorazione di contornatura local sName = 'Mill_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id)) - local nMchFId = WM.AddMachining( Proc.Id, sName, sMilling) + local nMchFId = WM.AddMachining( Proc, sName, sMilling) if not nMchFId then local sErr = 'Error adding machining ' .. sName .. '-' .. sMilling EgtOutLog( sErr) @@ -1733,7 +1733,7 @@ local function MakeSideGrooveByMill( Proc, nFacet, nRawId, b3Raw, sCustomMach, d end -- inserisco la lavorazione di fresatura local sNameGorge = 'Gorge_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id)) .. tostring( nFacet) .. '_' .. tostring( nNm) - local nMchFId = WM.AddMachining( Proc.Id, sNameGorge, sMillingGorge) + local nMchFId = WM.AddMachining( Proc, sNameGorge, sMillingGorge) if not nMchFId then local sErr = 'Error adding machining ' .. sNameGorge .. '-' .. sMillingGorge EgtOutLog( sErr) @@ -1784,7 +1784,7 @@ local function MakeSideGrooveByMill( Proc, nFacet, nRawId, b3Raw, sCustomMach, d nNm = nNm + 1 -- inserisco la lavorazione di taglio sfrido gorge local sNameGorge = 'GorgeCut_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id)) .. tostring( nFacet) .. '_' .. tostring( nNm) - local nMchFId = WM.AddMachining( Proc.Id, sNameGorge, sCuttingGorge) + local nMchFId = WM.AddMachining( Proc, sNameGorge, sCuttingGorge) if not nMchFId then local sErr = 'Error adding machining ' .. sNameGorge .. '-' .. sCuttingGorge EgtOutLog( sErr) @@ -1843,7 +1843,7 @@ local function MakeSideGrooveByMill( Proc, nFacet, nRawId, b3Raw, sCustomMach, d if not bExcludeSideMill then -- inserisco la lavorazione di ribasso o gola local sName = EgtIf( bEnablePreMill ~= nil, 'SideMill_', 'Mill_') .. ( EgtGetName( Proc.Id) or tostring( Proc.Id)) - local nMchFId = WM.AddMachining( Proc.Id, sName, sMilling) + local nMchFId = WM.AddMachining( Proc, sName, sMilling) if not nMchFId then local sErr = 'Error adding machining ' .. sName .. '-' .. sMilling EgtOutLog( sErr) @@ -1967,7 +1967,7 @@ local function MakeSideGrooveByMill( Proc, nFacet, nRawId, b3Raw, sCustomMach, d if dAng and dAng > -90 + 10 * GEO.EPS_SMALL and not bExcludeFinishing then -- inserisco la lavorazione di contornatura local sName = 'Mill_Oth_Fac_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id)) - local nMchFId = WM.AddMachining( Proc.Id, sName, sMilling) + local nMchFId = WM.AddMachining( Proc, sName, sMilling) if not nMchFId then local sErr = 'Error adding machining ' .. sName .. '-' .. sMilling EgtOutLog( sErr) @@ -2155,7 +2155,7 @@ local function MakeByPocketing( Proc, nFacet, nRawId, b3Raw, bCheckQPar) end -- inserisco la lavorazione di svuotatura local sName = 'Pock_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id)) - local nMchFId = WM.AddMachining( Proc.Id, sName, sPocketing) + local nMchFId = WM.AddMachining( Proc, sName, sPocketing) if not nMchFId then local sErr = 'Error adding machining ' .. sName .. '-' .. sPocketing EgtOutLog( sErr) @@ -2232,7 +2232,7 @@ local function MakeOneFace( Proc, nRawId, b3Raw) end -- eseguo il taglio di lama local sName = 'Cut_' .. ( EgtGetName( Proc.PartId) or tostring( Proc.PartId)) .. '_' .. tostring( Proc.Id) - local nMchId = WM.AddMachining( Proc.Id, sName, sCutting) + local nMchId = WM.AddMachining( Proc, sName, sCutting) if not nMchId then local sErr = 'Error adding machining ' .. sName .. '-' .. sCutting EgtOutLog( sErr) @@ -2510,7 +2510,7 @@ local function MakeTwoFaces( Proc, nRawId, b3Raw) for i = 1, 2 do -- inserisco la lavorazione local sName = 'Cut_' .. ( EgtGetName( Proc.PartId) or tostring( Proc.PartId)) .. '_' .. tostring( Proc.Id) .. '_' .. tostring( i) - local nMchId = WM.AddMachining( Proc.Id, sName, sCutting) + local nMchId = WM.AddMachining( Proc, sName, sCutting) if not nMchId then local sErr = 'Error adding machining ' .. sName .. '-' .. sCutting EgtOutLog( sErr) diff --git a/LuaLibs/WProcessMark.lua b/LuaLibs/WProcessMark.lua index 507d56b..d54c802 100644 --- a/LuaLibs/WProcessMark.lua +++ b/LuaLibs/WProcessMark.lua @@ -108,7 +108,7 @@ function WPMK.Make( Proc, nRawId, b3Raw) end -- inserisco la lavorazione di fresatura local sName = 'Decor_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id)) - local nMchFId = WM.AddMachining( Proc.Id, sName, sMilling) + local nMchFId = WM.AddMachining( Proc, sName, sMilling) if not nMchFId then local sErr = 'Error adding machining ' .. sName .. '-' .. sMilling EgtOutLog( sErr) @@ -132,7 +132,7 @@ function WPMK.Make( Proc, nRawId, b3Raw) if AuxId then -- inserisco la lavorazione di fresatura local sName2 = 'Decor2_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id)) - local nMchF2Id = WM.AddMachining( Proc.Id, sName, sMilling) + local nMchF2Id = WM.AddMachining( Proc, sName, sMilling) if not nMchF2Id then local sErr = 'Error adding machining ' .. sName2 .. '-' .. sMilling EgtOutLog( sErr) diff --git a/LuaLibs/WProcessMortise.lua b/LuaLibs/WProcessMortise.lua index 3f1bd96..27d9e99 100644 --- a/LuaLibs/WProcessMortise.lua +++ b/LuaLibs/WProcessMortise.lua @@ -251,7 +251,7 @@ function WPM.Make( Proc, nRawId, b3Raw) end -- inserisco la lavorazione di svuotatura local sName = 'Mort_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id)) - local nMchFId = WM.AddMachining( Proc.Id, sName, sPocketing) + local nMchFId = WM.AddMachining( Proc, sName, sPocketing) if not nMchFId then local sErr = 'Error adding machining ' .. sName .. '-' .. sPocketing EgtOutLog( sErr) diff --git a/LuaLibs/WProcessText.lua b/LuaLibs/WProcessText.lua index 9d450b9..cbc6c4b 100644 --- a/LuaLibs/WProcessText.lua +++ b/LuaLibs/WProcessText.lua @@ -78,7 +78,7 @@ function WPT.Make( Proc, nRawId, b3Raw) end -- inserisco la lavorazione di fresatura local sName = 'Text_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id)) - local nMchFId = WM.AddMachining( Proc.Id, sName, sMilling) + local nMchFId = WM.AddMachining( Proc, sName, sMilling) if not nMchFId then local sErr = 'Error adding machining ' .. sName .. '-' .. sMilling EgtOutLog( sErr) diff --git a/LuaLibs/WProcessVariant.lua b/LuaLibs/WProcessVariant.lua index 51dff18..2de64a0 100644 --- a/LuaLibs/WProcessVariant.lua +++ b/LuaLibs/WProcessVariant.lua @@ -72,7 +72,7 @@ local function MakeCode_1( Proc, nRawId, b3Raw) end -- inserisco la lavorazione di finitura superficie local sName = 'SurfFin_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id)) - local nMchFId = WM.AddMachining( Proc.Id, sName, sSurfFin) + local nMchFId = WM.AddMachining( Proc, sName, sSurfFin) if not nMchFId then local sErr = 'Error adding machining ' .. sName .. '-' .. sSurfFin EgtOutLog( sErr) diff --git a/LuaLibs/WallExec.lua b/LuaLibs/WallExec.lua index 6ec9912..a75e33f 100644 --- a/LuaLibs/WallExec.lua +++ b/LuaLibs/WallExec.lua @@ -1,6 +1,7 @@ -- WallExec.lua by Egaltech s.r.l. 2023/03/06 -- Libreria esecuzione lavorazioni per Pareti --- 2023/05/25 Aggiunto ordinamento in base a prioritò da btl. +-- 2023/05/25 Aggiunto ordinamento in base a priorità da btl. +-- 2023/06/07 Nel caso di outline con priorità aggiunta la rimozione degli sfridi nella lavorazione successiva. -- Tabella per definizione modulo local WallExec = {} @@ -180,7 +181,8 @@ function WallExec.CollectFeatures( PartId, b3Raw) Proc.CutId = nCutId Proc.TaskId = nTaskId Proc.Box = EgtGetBBoxGlob( ProcId, GDB_BB.STANDARD) - if Proc.Box and not Proc.Box:isEmpty() then + Proc.IsOutline = ( Proc.Prc == 251 or Proc.Prc == 252) + if Proc.Box and not Proc.Box:isEmpty() then table.insert( vProc, Proc) -- se foro if Drill.Identify( Proc) then @@ -584,6 +586,27 @@ local function SortMachinings( nPhase, PrevMch, nPartId, nPriority) return PrevMch end +------------------------------------------------------------------------------------------------------------- +-- setto la rimozione sfridi dopo le lavorazioni di outline +function InsertScrapRemoval( nPhase) + local nCurrentOperationId = EgtGetNextOperation( EgtGetPhaseDisposition( nPhase)) + local nActiveMachiningId = EgtGetCurrMachining() + while nCurrentOperationId do + local bIsCurrentOperationOutline = ( EgtGetInfo( nCurrentOperationId or GDB_ID.NULL, 'ISOUTLINE', 'b' ) == true) + local bIsCurrentOperationWithPriority = ( EgtGetInfo( nCurrentOperationId or GDB_ID.NULL, 'PRIORITY', 'i' ) > 0) + local nNextOperationId = EgtGetNextOperation (nCurrentOperationId) + local bIsNextOperationOutline = ( EgtGetInfo( nNextOperationId or GDB_ID.NULL, 'ISOUTLINE', 'b' ) == true) + if bIsCurrentOperationOutline and bIsCurrentOperationWithPriority and nNextOperationId and not bIsNextOperationOutline then + EgtSetCurrMachining( nNextOperationId) + local sMachiningNotes = EgtGetMachiningParam( MCH_MP.USERNOTES) + sMachiningNotes = sMachiningNotes .. 'ScrapRemove=1;' + EgtSetMachiningParam( MCH_MP.USERNOTES, sMachiningNotes) + end + nCurrentOperationId = EgtGetNextOperation( nCurrentOperationId) + end + EgtSetCurrMachining( nActiveMachiningId) +end + ------------------------------------------------------------------------------------------------------------- function WallExec.ProcessFeatures() -- errori e stato @@ -676,9 +699,13 @@ function WallExec.ProcessFeatures() end end end - + -- ordinamento standard SortMachinings( nPhase, PrevMch) + -- Aggiornamento finale di tutto + if nGetPriorityFromBtl > 0 then + InsertScrapRemoval( nPhase) + end EgtSetCurrPhase( 1) EgtApplyAllMachinings() -- altrimenti macchina travi