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:
+2
-2
@@ -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
@@ -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)'
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user