DataBeam :

- si saltano le feature senza geometria
- le marcature doppie si dividono in due lavorazioni.
This commit is contained in:
Dario Sassi
2019-11-05 18:33:10 +00:00
parent a7cce952e2
commit 1441b8ad1f
2 changed files with 69 additions and 36 deletions
+33 -4
View File
@@ -1,4 +1,4 @@
-- ProcessMark.lua by Egaltech s.r.l. 2018/04/18
-- ProcessMark.lua by Egaltech s.r.l. 2019/11/04
-- Gestione calcolo marcatura per Travi
-- Tabella per definizione modulo
@@ -69,9 +69,7 @@ function ProcessMark.Make( Proc, nPhase, nRawId, nPartId)
return false, sErr
end
-- aggiungo geometria
local vGeom = {{ Proc.Id, -1}}
if AuxId then vGeom[2] = { AuxId, -1} end
EgtSetMachiningGeometry( vGeom)
EgtSetMachiningGeometry( {{ Proc.Id, -1}})
-- imposto posizione braccio porta testa
if vtExtr:getY() <= 0 then
EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.ADIR_YM)
@@ -84,6 +82,37 @@ function ProcessMark.Make( Proc, nPhase, nRawId, nPartId)
EgtSetOperationMode( nMchFId, false)
return false, sErr
end
-- eventuale lavorazione su seconda geometria
if AuxId then
-- inserisco la lavorazione di fresatura
local sName2 = 'Decor2_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id))
local nMchF2Id = EgtAddMachining( sName, sMilling)
if not nMchF2Id then
local sErr = 'Error adding machining ' .. sName2 .. '-' .. sMilling
EgtOutLog( sErr)
return false, sErr
end
-- aggiungo geometria
EgtSetMachiningGeometry( {{ AuxId, -1}})
-- imposto posizione braccio porta testa
if vtExtr:getY() <= 0 then
EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.ADIR_YM)
else
EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.ADIR_YP)
end
-- eseguo
if not EgtApplyMachining( true, false) then
local _, sErr = EgtGetLastMachMgrError()
EgtSetOperationMode( nMchF2Id, false)
return false, sErr
end
-- se geometria a X maggiore, la sposto prima
local ptS1 = EgtSP( Proc.Id, GDB_ID.ROOT)
local ptS2 = EgtSP( AuxId, GDB_ID.ROOT)
if ptS2:getX() > ptS1:getX() then
EgtRelocateGlob( nMchF2Id, nMchFId, GDB_IN.BEFORE)
end
end
return true
end