DataWall :
- aggiunta possibilità di posizionare i pezzi nei quattro angoli della tavola (da WD.ORIG_CORNER con valori BL,TL,BR,TR) - corretta classificazione Tagli con Lama.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
-- ProcessCut.lua by Egaltech s.r.l. 2020/07/15
|
||||
-- ProcessCut.lua by Egaltech s.r.l. 2020/11/13
|
||||
-- Gestione calcolo taglio di testa o longitudinale per Pareti
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
@@ -30,7 +30,7 @@ function WPC.Classify( Proc, b3Raw)
|
||||
if Proc.Fct ~= 1 then return false end
|
||||
-- controllo la normale
|
||||
local ptC, vtN = EgtSurfTmFacetCenter( Proc.Id, 0, GDB_ID.ROOT)
|
||||
if abs( vtN:getZ()) < 0.5 then return false end
|
||||
if abs( vtN:getZ()) < -0.5 then return false end
|
||||
return true
|
||||
end
|
||||
|
||||
|
||||
+18
-4
@@ -1,4 +1,4 @@
|
||||
-- WallExec.lua by Egaltech s.r.l. 2020/07/15
|
||||
-- WallExec.lua by Egaltech s.r.l. 2020/11/12
|
||||
-- Libreria esecuzione lavorazioni per Pareti
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
@@ -41,13 +41,27 @@ function WallExec.ProcessWalls( dRawL, dRawW, dRawH, vWall)
|
||||
EgtSetTable( 'Tab')
|
||||
-- Area tavola
|
||||
local b3Tab = EgtGetTableArea()
|
||||
-- Calcolo posizione estremo BR della tavola rispetto a sua origine in BL
|
||||
WD.OriBR = Point3d( b3Tab:getDimX(), 0, 0)
|
||||
-- Calcolo posizione estremo di riferimento della tavola rispetto a sua origine in BL
|
||||
local OrigOnTab
|
||||
local nCorner
|
||||
if WD.ORIG_CORNER == 'TL' then
|
||||
nCorner = MCH_CR.TL
|
||||
OrigOnTab = Point3d( 0, b3Tab:getDimY(), 0)
|
||||
elseif WD.ORIG_CORNER == 'BL' then
|
||||
nCorner = MCH_CR.BL
|
||||
OrigOnTab = Point3d(0, 0, 0)
|
||||
elseif WD.ORIG_CORNER == 'TR' then
|
||||
nCorner = MCH_CR.TR
|
||||
OrigOnTab = Point3d( b3Tab:getDimX(), b3Tab:getDimY(), 0)
|
||||
else -- 'BR'
|
||||
nCorner = MCH_CR.BR
|
||||
OrigOnTab = Point3d( b3Tab:getDimX(), 0, 0)
|
||||
end
|
||||
-- Impostazione dell'attrezzaggio di default
|
||||
EgtImportSetup()
|
||||
-- Creazione del grezzo e suo posizionamento in macchina
|
||||
local nRaw = EgtAddRawPart( Point3d(0,0,0), dRawL, dRawW, dRawH, WD.RAWCOL)
|
||||
EgtMoveToCornerRawPart( nRaw, WD.OriBR, MCH_CR.BR)
|
||||
EgtMoveToCornerRawPart( nRaw, OrigOnTab, nCorner)
|
||||
-- Inserimento dei pezzi nel grezzo
|
||||
for i = 1, #vWall do
|
||||
-- assegno identificativo pezzo
|
||||
|
||||
+7
-7
@@ -1,4 +1,4 @@
|
||||
-- Process.lua by Egaltech s.r.l. 2020/07/07
|
||||
-- Process.lua by Egaltech s.r.l. 2020/11/13
|
||||
-- Gestione calcolo disposizione e lavorazioni per Pareti
|
||||
-- Si opera sulla macchina corrente
|
||||
|
||||
@@ -89,18 +89,18 @@ local function MyProcessInputData()
|
||||
end
|
||||
|
||||
-- Ne recupero la posizione
|
||||
local CurrX = 100
|
||||
local CurrX = 50
|
||||
for i = 1, #vWall do
|
||||
local PosX = EgtGetInfo( vWall[i].Id, 'POSX', 'd')
|
||||
if not PosX then PosX = CurrX end
|
||||
vWall[i].PosX = PosX
|
||||
CurrX = CurrX + vWall[i].Box:getDimX() + 50
|
||||
local PosZ = EgtGetInfo( vWall[i].Id, 'POSZ', 'd') or 100
|
||||
local PosZ = EgtGetInfo( vWall[i].Id, 'POSZ', 'd') or 50
|
||||
vWall[i].PosZ = PosZ
|
||||
end
|
||||
|
||||
-- Recupero informazione se progetto o produzione
|
||||
local bProj = ( EgtGetInfo( EgtGetFirstNameInGroup( GDB_ID.ROOT, 'BtlInfo'), 'PROJECT', 'i') == 1)
|
||||
local bProj = ( EgtGetInfo( EgtGetFirstNameInGroup( GDB_ID.ROOT, 'BtlInfo') or GDB_ID.NULL, 'PROJECT', 'i') == 1)
|
||||
|
||||
-- Eseguo eventuali rotazioni e inversioni testa-coda
|
||||
for i = 1, #vWall do
|
||||
@@ -154,7 +154,7 @@ local function MyProcessInputData()
|
||||
table.remove( vWall, vWallErr[i])
|
||||
end
|
||||
EgtOutLog( sOut, 1)
|
||||
EgtOutBox( sOut, 'Lavora Travi', 'INFO')
|
||||
EgtOutBox( sOut, 'Lavora Pareti', 'INFO')
|
||||
EgtDraw()
|
||||
return false
|
||||
end
|
||||
@@ -256,11 +256,11 @@ local function MyProcessFeatures()
|
||||
end
|
||||
if #sOutput > 0 then EgtOutLog( sOutput) end
|
||||
if nErrCnt > 0 then
|
||||
EgtOutBox( sOutput, 'Lavora Travi', 'ERRORS')
|
||||
EgtOutBox( sOutput, 'Lavora Pareti', 'ERRORS')
|
||||
EgtDraw()
|
||||
return false
|
||||
elseif nWarnCnt > 0 then
|
||||
EgtOutBox( sOutput, 'Lavora Travi', 'WARNINGS')
|
||||
EgtOutBox( sOutput, 'Lavora Pareti', 'WARNINGS')
|
||||
EgtDraw()
|
||||
return true
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user