DataWall :

- aggiunta gestione speciale forature orizzonatli per sort ad hoc
- in foratura aggiunta gestione flag Q01 per forzare solo contornatura.
This commit is contained in:
DarioS
2022-01-20 09:30:18 +01:00
parent 62077f616b
commit 248fce3758
2 changed files with 20 additions and 8 deletions
+8 -4
View File
@@ -351,7 +351,7 @@ local function MoveMachiningsAtEnd( nPhase, nType, sStartName, sProperty)
end
------ Ordinamento dei tagli, delle fresature e delle forature -------
local function SortMach( nPhase, PrevMch, nPartId, nType, sStartName, bExistName, sInfo, bExistInfo)
local function SortMach( nPhase, PrevMch, nPartId, nType, sStartName, bExistName, sInfo, bExistInfo, bOneWay)
-- dichiarazione tabella
local TabCut = {}
-- Recupero gli identificativi delle lavorazioni e annullo eventuali allungamenti e Id di altre lavorazioni rappresentate
@@ -377,9 +377,9 @@ local function SortMach( nPhase, PrevMch, nPartId, nType, sStartName, bExistName
nOperId = EgtGetNextOperation( nOperId)
end
-- ordino le lavorazioni (in gruppi di max 1000 entità)
-- ordino le lavorazioni (in gruppi di max 1000 entità se 32bit 10000 se 64bit)
--EgtOutLog('Dati per ShortestPath :')
local SP_MAX_ENT = 10000
local SP_MAX_ENT = EgtIf( EgtIs64bit(), 10000, 1000)
local nBase = 0
while nBase < #TabCut do
-- calcolo ordinamento
@@ -395,7 +395,9 @@ local function SortMach( nPhase, PrevMch, nPartId, nType, sStartName, bExistName
if WD.BEAM_MACHINE and nType == MCH_OY.SAWING then
EgtSpSetOpenBound( false, SHP_OB.NEAR_PNT, -50000, 0, 0, 0, 0)
end
local vOrd = EgtSpCalculate( SHP_TY.OPEN)
EgtSpSetZzOwStep( 10)
local nType = EgtIf( bOneWay, SHP_TY.ONEWAY_YM, SHP_TY.OPEN)
local vOrd = EgtSpCalculate( nType)
EgtSpTerminate()
-- applico ordinamento calcolato
if vOrd then
@@ -417,6 +419,8 @@ local function SortMachinings( nPhase, PrevMch, nPartId)
PrevMch = SortMach( nPhase, PrevMch, nPartId, MCH_OY.MILLING, 'Nail_', true)
-- Tagli con sega a catena che sono rifiniture di spigoli
PrevMch = SortMach( nPhase, PrevMch, nPartId, MCH_OY.MORTISING, 'Csaw_', false)
-- Forature orizzontali con punte lunghe
PrevMch = SortMach( nPhase, PrevMch, nPartId, MCH_OY.DRILLING, 'LhDrill_', true, 'MOVE_AFTER', false, true)
-- Forature
PrevMch = SortMach( nPhase, PrevMch, nPartId, MCH_OY.DRILLING, nil, nil, 'MOVE_AFTER', false)
-- Svuotature