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