DataWall :

- modifiche per pulitura spigoli di contorni o equivalenti con sega a catena.
This commit is contained in:
DarioS
2021-06-15 18:22:53 +02:00
parent ee6782d52f
commit eca9ed5968
+28 -6
View File
@@ -1,4 +1,4 @@
-- ProcessFreeContour.lua by Egaltech s.r.l. 2021/04/22
-- ProcessFreeContour.lua by Egaltech s.r.l. 2021/06/15
-- Gestione calcolo profilo libero per Pareti
-- Tabella per definizione modulo
@@ -15,7 +15,7 @@ local WD = require( 'WallData')
local WM = require( 'WMachiningLib')
local WHISK_OFFS = 0.1
local WHISK_SAFE = 5
local MIN_LEN_CUT = 50
local MIN_LEN_CUT = 250
-- variabili assegnazione parametri Q
local sTypeCornerCut = 'Q05' -- i
@@ -1230,6 +1230,11 @@ local function AddMillings( sMilling, vFace, Proc, nRawId, b3Raw, nConeCut, nAdd
dEal = -dMillDiam / 2
end
end
-- se percorso chiuso e completo con fresa
if bClosed and bAllType4 then
dSal = 0
dEal = 0
end
end
-- se non devo scaricare l'angolo
if nConeCut <= 1 then
@@ -1384,6 +1389,11 @@ local function AddSawings( sSawing, vFace, Proc, nRawId, b3Raw)
dMaxDepth = EgtTdbGetCurrToolMaxDepth() or dMaxDepth
end
end
-- Calcolo angolo 3° asse rot (da direz. utensile)
local sRot3Ang = 'A1=180'
if WD.GetChainSawBlockedAxis then
sRot3Ang = WD.GetChainSawBlockedAxis( 1)
end
-- ciclo di inserimento dei tagli con sega a catena
for i = 1, #vFace do
-- se inizio faccia non tagliato completamente, inserisco un ripasso con sega a catena
@@ -1398,7 +1408,6 @@ local function AddSawings( sSawing, vFace, Proc, nRawId, b3Raw)
end
EgtSetInfo( nMchId, 'Part', Proc.PartId)
-- calcolo l'affondamento
-- local dDepth = min( vFace[i].Width + WD.CUT_EXTRA, dMaxDepth)
local dDepth = vFace[i].Width + WD.CUT_EXTRA
-- se affondamento superiore ai limiti della fresa
if dDepth > dMaxDepth then
@@ -1415,12 +1424,19 @@ local function AddSawings( sSawing, vFace, Proc, nRawId, b3Raw)
EgtSetMachiningParam( MCH_MP.INVERT, false)
-- assegno utilizzo faccia
EgtSetMachiningParam( MCH_MP.FACEUSE, MCH_MILL_FU.PARAL_DOWN)
-- imposto angolo 3° asse rot
EgtSetMachiningParam( MCH_MP.BLOCKEDAXIS, sRot3Ang)
-- assegno affondamento
EgtSetMachiningParam( MCH_MP.DEPTH, dDepth)
-- assegno lato di lavoro
EgtSetMachiningParam( MCH_MP.WORKSIDE, MCH_MILL_WS.RIGHT)
-- posizione braccio porta testa
EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.NONE)
if vFace[i].Norm:getX() < 0.018 then
EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.NONE)
else
EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.OPPOSITE)
EgtSetMachiningParam( MCH_MP.OFFSR, dSawThick)
end
-- eseguo
if not EgtApplyMachining( true, false) then
local _, sErr = EgtGetLastMachMgrError()
@@ -1440,7 +1456,6 @@ local function AddSawings( sSawing, vFace, Proc, nRawId, b3Raw)
end
EgtSetInfo( nMchId, 'Part', Proc.PartId)
-- calcolo l'affondamento
-- local dDepth = min( vFace[i].Width + WD.CUT_EXTRA, dMaxDepth)
local dDepth = vFace[i].Width + WD.CUT_EXTRA
-- se affondamento superiore ai limiti della fresa
if dDepth > dMaxDepth then
@@ -1460,12 +1475,19 @@ local function AddSawings( sSawing, vFace, Proc, nRawId, b3Raw)
EgtSetMachiningParam( MCH_MP.INVERT, false)
-- assegno utilizzo faccia
EgtSetMachiningParam( MCH_MP.FACEUSE, MCH_MILL_FU.PARAL_DOWN)
-- imposto angolo 3° asse rot
EgtSetMachiningParam( MCH_MP.BLOCKEDAXIS, sRot3Ang)
-- assegno affondamento
EgtSetMachiningParam( MCH_MP.DEPTH, dDepth)
-- assegno lato di lavoro
EgtSetMachiningParam( MCH_MP.WORKSIDE, MCH_MILL_WS.RIGHT)
-- posizione braccio porta testa
EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.NONE)
if vFace[i].Norm:getX() < 0.018 then
EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.NONE)
else
EgtSetMachiningParam( MCH_MP.SCC, MCH_SCC.OPPOSITE)
EgtSetMachiningParam( MCH_MP.OFFSR, dSawThick)
end
-- eseguo
if not EgtApplyMachining( true, false) then
local _, sErr = EgtGetLastMachMgrError()