DataBeam :

- aggiunta gestione tagli in FrontMortise e FrontDtMortise
- completata gestione tagli lunghi per non rovinare i pezzi successivi
- aggiunte a tutte le chiamate di Cut.Make e DoubleCut.Make il passaggio del sovramateriale di testa.
This commit is contained in:
Dario Sassi
2020-10-14 09:44:57 +00:00
parent 8d59402134
commit 0a5c8a146b
19 changed files with 241 additions and 66 deletions
+12 -5
View File
@@ -1,4 +1,4 @@
-- ProcessLongCut.lua by Egaltech s.r.l. 2020/10/08
-- ProcessLongCut.lua by Egaltech s.r.l. 2020/10/09
-- Gestione calcolo taglio longitudinale per Travi
-- Tabella per definizione modulo
@@ -312,7 +312,7 @@ function ProcessLongCut.Make( Proc, nPhase, nRawId, nPartId)
dMaxDepth = EgtTdbGetCurrToolMaxDepth() or dMaxDepth
end
end
-- se la fine (a sinistra) non è limitata e ho un pezzo successivo più distante da metà raggio. setto la fine come limitata
-- se la fine (a sinistra) non è limitata e ho un pezzo successivo meno distante di metà raggio. setto la fine come limitata
if dDistToNextPiece < dToolDiam/2 and not bLimXmin then
bForcedLim = true
bLimXmin = true
@@ -342,9 +342,17 @@ function ProcessLongCut.Make( Proc, nPhase, nRawId, nPartId)
local nC = ceil( ( dLen - dStartAccDist - dEndAccDist) / BD.LONGCUT_MAXLEN)
local dC = 0
if nC > 0 then
local nIncStep = 2
if bStartFixed and bEndFixed then
dC = ( dLen - dStartAccDist - dEndAccDist) / nC
if dC < min( dStartAccDist, dEndAccDist) then
-- se distanza rimanente è < della metà del minimo della distanza estremi allora aggiungo un passo in più
local dMinDist = EgtIf( min( dStartAccDist, dEndAccDist) / 2 > 300 , 300, min( dStartAccDist, dEndAccDist) / 2)
if dC <= dMinDist then
dC = dLen / ( nC + 1)
dStartAccDist = dC
dEndAccDist = dC
nIncStep = 1
elseif dC < min( dStartAccDist, dEndAccDist) then
dC = dLen / ( nC + 2)
dStartAccDist = dC
dEndAccDist = dC
@@ -370,7 +378,7 @@ function ProcessLongCut.Make( Proc, nPhase, nRawId, nPartId)
dStartAccDist = dC
dEndAccDist = dC
end
nC = nC + 2
nC = nC + nIncStep
else
if dLen > min( dStartAccDist, dEndAccDist) then
nC = 2
@@ -498,7 +506,6 @@ function ProcessLongCut.Make( Proc, nPhase, nRawId, nPartId)
nExtendMach = nUseMillOnSide
if nUseMillOnSide == 2 then
bRemoveToolRadius = true
-- nExtendMach = 0 -- arretro la lavorazione del raggio utensile (se non ha facce limite)
end
-- lavorazione da sotto
else