DataWall :

- migliorata segnalazione errore avvio simulazione
- migliorata gestione contorno libero con una sola faccia
- in ottimizzazione lavorazioni non si abilitano più le lavorazioni disabilitate (perchè errate).
This commit is contained in:
DarioS
2021-06-30 20:31:47 +02:00
parent fd78bbede6
commit ce75804923
4 changed files with 21 additions and 12 deletions
+2 -2
View File
@@ -495,7 +495,7 @@ if ( WALL.FLAG == 0 and ( bToProcess or bToRecalc)) or WALL.FLAG == 3 or WALL.F
if not bSimOk then
if nErr == MCH_SHE.INIT then
WALL.ERR = 19
WALL.MSG = 'Error in clamps disposition'
WALL.MSG = 'Error starting simulation'
elseif nErr == MCH_SHE.COLLISION then
WALL.ERR = 22
WALL.MSG = 'Head-part collision'
@@ -504,7 +504,7 @@ if ( WALL.FLAG == 0 and ( bToProcess or bToRecalc)) or WALL.FLAG == 3 or WALL.F
WALL.MSG = 'Axis outstroke ' .. sErr
elseif nErr == MCH_SHE.SPECIAL then
WALL.ERR = 24
WALL.MSG = 'Clamp move error ' .. sErr
WALL.MSG = 'Special error ' .. sErr
else
WALL.ERR = 25
WALL.MSG = 'General failure (contact supplier)'
+2 -2
View File
@@ -486,7 +486,7 @@ if ( WALL.FLAG == 0 and ( bToProcess or bToRecalc)) or WALL.FLAG == 3 or WALL.F
if not bSimOk then
if nErr == MCH_SHE.INIT then
WALL.ERR = 19
WALL.MSG = 'Error in clamps disposition'
WALL.MSG = 'Error starting simulation'
elseif nErr == MCH_SHE.COLLISION then
WALL.ERR = 22
WALL.MSG = 'Head-part collision'
@@ -495,7 +495,7 @@ if ( WALL.FLAG == 0 and ( bToProcess or bToRecalc)) or WALL.FLAG == 3 or WALL.F
WALL.MSG = 'Axis outstroke ' .. sErr
elseif nErr == MCH_SHE.SPECIAL then
WALL.ERR = 24
WALL.MSG = 'Clamp move error ' .. sErr
WALL.MSG = 'Special error ' .. sErr
else
WALL.ERR = 25
WALL.MSG = 'General failure (contact supplier)'
+15 -5
View File
@@ -1,4 +1,4 @@
-- ProcessFreeContour.lua by Egaltech s.r.l. 2021/06/15
-- ProcessFreeContour.lua by Egaltech s.r.l. 2021/06/30
-- Gestione calcolo profilo libero per Pareti
-- Tabella per definizione modulo
@@ -1139,7 +1139,7 @@ local function AddMillings( sMilling, vFace, Proc, nRawId, b3Raw, nConeCut, nAdd
if nConeCut == 1 then EgtSetMachiningParam( MCH_MP.LEAVETAB, false) end
-- aggiungo geometria
EgtSetMachiningGeometry( {{ Proc.Id, vFace[i].Fac}})
local dSal = 0
local dSal = EgtIf( #vFace == 1, -dMillDiam / 2, 0)
local dEal = vFace[i].Whisk - vFace[i].Len
EgtSetMachiningParam( MCH_MP.STARTADDLEN, dSal)
EgtSetMachiningParam( MCH_MP.ENDADDLEN, dEal)
@@ -1154,7 +1154,7 @@ local function AddMillings( sMilling, vFace, Proc, nRawId, b3Raw, nConeCut, nAdd
-- posizione braccio porta testa
local nSCC = MCH_SCC.ADIR_ZP
if abs( vFace[i].Norm:getZ()) < GEO.EPS_SMALL then
nSCC = MCH_SCC.ADIR_YP
nSCC = EgtIf( abs( vFace[i].Norm:getX()) > abs( vFace[i].Norm:getY()), MCH_SCC.ADIR_XP, MCH_SCC.ADIR_YP)
end
EgtSetMachiningParam( MCH_MP.SCC, nSCC)
-- eseguo
@@ -1212,7 +1212,7 @@ local function AddMillings( sMilling, vFace, Proc, nRawId, b3Raw, nConeCut, nAdd
j = EgtIf( j + 1 <= #vFace, j + 1, EgtIf( bAllType4 or not bClosed, nil, 1))
end
-- se faccia singola è da fare tutta senza oltrepassare estremi
if #vFace == 1 then
if #vFace == 1 and vFace[OrigI].Type == 4 then
dSal = -dMillDiam / 2
dEal = -dMillDiam / 2
-- altrimenti va verificato
@@ -1235,6 +1235,10 @@ local function AddMillings( sMilling, vFace, Proc, nRawId, b3Raw, nConeCut, nAdd
dSal = 0
dEal = 0
end
-- se faccia singola non oltrepasso l'estremo finale
if #vFace == 1 then
dEal = -dMillDiam / 2
end
end
-- se non devo scaricare l'angolo
if nConeCut <= 1 then
@@ -1253,6 +1257,12 @@ local function AddMillings( sMilling, vFace, Proc, nRawId, b3Raw, nConeCut, nAdd
EgtSetMachiningParam( MCH_MP.WORKSIDE, MCH_MILL_WS.RIGHT)
-- posizione braccio porta testa
EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.ADIR_XP)
-- posizione braccio porta testa
local nSCC = MCH_SCC.ADIR_ZP
if abs( vFace[OrigI].Norm:getZ()) < GEO.EPS_SMALL then
nSCC = EgtIf( abs( vFace[OrigI].Norm:getX()) > abs( vFace[OrigI].Norm:getY()), MCH_SCC.ADIR_XP, MCH_SCC.ADIR_YP)
end
EgtSetMachiningParam( MCH_MP.SCC, nSCC)
-- altrimenti se devo fare rientranza per inserimento utensile cono 30°
elseif nConeCut == 2 then
-- creo la costruzione del percorso
@@ -1354,7 +1364,7 @@ local function AddMillings( sMilling, vFace, Proc, nRawId, b3Raw, nConeCut, nAdd
-- posizione braccio porta testa
local nSCC = MCH_SCC.ADIR_ZP
if abs( vFace[i].Norm:getZ()) < GEO.EPS_SMALL then
nSCC = MCH_SCC.ADIR_YP
nSCC = EgtIf( abs( vFace[i].Norm:getX()) > abs( vFace[i].Norm:getY()), MCH_SCC.ADIR_XP, MCH_SCC.ADIR_YP)
end
EgtSetMachiningParam( MCH_MP.SCC, nSCC)
-- eseguo
+2 -3
View File
@@ -1,4 +1,4 @@
-- WallExec.lua by Egaltech s.r.l. 2021/04/20
-- WallExec.lua by Egaltech s.r.l. 2021/06/30
-- Libreria esecuzione lavorazioni per Pareti
-- Tabella per definizione modulo
@@ -311,8 +311,7 @@ local function SortMach( nPhase, PrevMch, nPartId, nType, sStartName, bExistName
( not bExistName and string.sub( EgtGetName( nOperId), 1, #sStartName) ~= sStartName)) and
( not sInfo or ( bExistInfo and EgtGetInfo( nOperId, sInfo, 'i') == 1) or
( not bExistInfo and EgtGetInfo( nOperId, sInfo, 'i') ~= 1)) then
-- rendo comunque attiva la lavorazione
EgtSetOperationMode( nOperId, true)
-- non si deve cambiare lo stato di attivazione della lavorazione (se disabilitata errata)
EgtSetCurrMachining( nOperId)
if not EgtIsMachiningEmpty() then
-- punto iniziale e finale e direzione della lavorazione