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
+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