DataBeam :
- modifiche a BatchProcess per gestire verifica collisioni in cieco - copia TASKID dalle geometrie feature alle geometrie di lavorazione - imposto non controllare separazione pezzi in svuotature di LapJoint - migliorie varie.
This commit is contained in:
+34
-6
@@ -1,17 +1,16 @@
|
||||
-- BatchProcess.lua by Egaltech s.r.l. 2019/07/12
|
||||
-- BatchProcess.lua by Egaltech s.r.l. 2019/07/19
|
||||
-- Gestione calcolo batch disposizione e lavorazioni per Travi
|
||||
-- 2019/07/11 Aggiunta gestione stato rotazione di feature per TS3.
|
||||
-- 2019/07/16 Aggiunta gestione modalità oltre 10 per impostazione macchina e uscita.
|
||||
-- 2019/07/19 Aggiunta gestione collisioni.
|
||||
|
||||
-- Intestazioni
|
||||
require( 'EgtBase')
|
||||
_ENV = EgtProtectGlobal()
|
||||
EgtEnableDebug( false)
|
||||
|
||||
-- Per test
|
||||
--BEAM = {}
|
||||
--BEAM.FILE = 'c:\\TechnoEssetre7\\EgtBtl\\Part_15_116.btl'
|
||||
--BEAM.MACHINE = 'FAST'
|
||||
--BEAM.FLAG = 3
|
||||
-- Flag abilitazione controllo collisione
|
||||
local bVerifyCollision = true
|
||||
|
||||
-- Log dati di generazione
|
||||
local sLog = 'BatchProcess : ' .. BEAM.FILE .. ', ' .. BEAM.MACHINE .. ', ' .. tostring( BEAM.FLAG)
|
||||
@@ -84,6 +83,12 @@ end
|
||||
EgtRemoveBaseMachineDirFromPackagePath()
|
||||
EgtAddToPackagePath( sMachDir .. '\\Beam\\?.lua')
|
||||
|
||||
-- Se modalità visualizzazione finestre per DB esco
|
||||
if BEAM.FLAG > 10 then
|
||||
BEAM.ERR = 0
|
||||
return
|
||||
end
|
||||
|
||||
-- Segnalazione avvio
|
||||
EgtOutLog( '*** Beam BatchProcess Start ***', 1)
|
||||
|
||||
@@ -293,6 +298,29 @@ local Ttot = EgtGetInfo( EgtGetCurrMachGroup(), 'Ttot')
|
||||
local sTime = 'Total Time = ' .. EgtNumToString( Ttot, 1)
|
||||
EgtOutLog( sTime)
|
||||
|
||||
-- Se verifica, eseguo simulazione in cieco
|
||||
if BEAM.FLAG == 3 and bVerifyCollision then
|
||||
local bSimOk, nErr, sErr = EgtSimulate()
|
||||
if not bSimOk then
|
||||
BEAM.ERR = 22
|
||||
BEAM.MSG = 'Head-Part Collision'
|
||||
BEAM.ROT = 0
|
||||
BEAM.CUTID = 0
|
||||
BEAM.TASKID = 0
|
||||
local vItem = EgtSplitString( sErr, ';') or {}
|
||||
for i = 1, #vItem do
|
||||
vItem[i] = EgtTrim( vItem[i] or '')
|
||||
if string.find( vItem[i], 'CUTID', 1, true) then
|
||||
BEAM.CUTID = EgtGetVal( vItem[i], 'CUTID', 'i') or 0
|
||||
elseif string.find( vItem[i], 'TASKID', 1, true) then
|
||||
BEAM.TASKID = EgtGetVal( vItem[i], 'TASKID', 'i') or 0
|
||||
end
|
||||
end
|
||||
WriteErrToLogFile( BEAM.ERR, BEAM.MSG, BEAM.ROT, BEAM.CUTID, BEAM.TASKID)
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
-- Imposto la vista ISO 3d, se richiesto
|
||||
if BEAM.FLAG == 1 or BEAM.FLAG == 2 then
|
||||
EgtSetView( SCE_VD.ISO_SW, false)
|
||||
|
||||
Reference in New Issue
Block a user