Sistemati anche casi di prima lavorazione con motosega, ora in tutti i casi la motosega che si muove da Home spezza i movimenti B e C dai lineari.

This commit is contained in:
daniele.nicoli
2026-03-27 13:04:52 +01:00
parent bc2388dd43
commit 3867f7b7ed
3 changed files with 15 additions and 6 deletions
+5 -2
View File
@@ -662,9 +662,12 @@ function OnRapid()
EmtOutput( '( *** ' .. sOut .. ' *** )')
end
local bSplitMove = false
bSplitMove = bSplitMove or EMT.HEAD == 'H3'
bSplitMove = bSplitMove or ( not EMT.LOAD and ( bZmax and EMT.TTOTLEN > 200))
bSplitMove = bSplitMove or ( not EMT.LOAD and ( EMT.ST > BeamHeightForFixRot or ( EMT.HEAD == 'H1' and EMT.TTOTLEN > 350) or bGoToHome))
-- se carico motosega, ruoto in zona sicura prima di approcciare la lavorazione
if not EMT.LOAD and ( EMT.HEAD == 'H3' or ( bZmax and EMT.TTOTLEN > 200)) and
( EMT.ST > BeamHeightForFixRot or ( EMT.HEAD == 'H1' and EMT.TTOTLEN > 350) or bGoToHome) and EMT.FLAG2 == 1 then
if bSplitMove and EMT.FLAG2 == 1 then
local sEEPreMove = ' EE' .. EgtIf( bZmax, '3', '4')
local sOutPreMove
if EMT.HEAD == 'H3' or bGoToHome then
+5 -2
View File
@@ -734,9 +734,12 @@ function OnRapid()
EmtOutput( '( *** ' .. sOut .. ' *** )')
end
local bSplitMove = false
bSplitMove = bSplitMove or EMT.HEAD == 'H3'
bSplitMove = bSplitMove or ( not EMT.LOAD and ( bZmax and EMT.TTOTLEN > 200))
bSplitMove = bSplitMove or ( not EMT.LOAD and ( EMT.ST > BeamHeightForFixRot or ( EMT.HEAD == 'H1' and EMT.TTOTLEN > 350) or bGoToHome))
-- se carico motosega, ruoto in zona sicura prima di approcciare la lavorazione
if not EMT.LOAD and ( EMT.HEAD == 'H3' or ( bZmax and EMT.TTOTLEN > 200)) and
( EMT.ST > BeamHeightForFixRot or ( EMT.HEAD == 'H1' and EMT.TTOTLEN > 350) or bGoToHome) and EMT.FLAG2 == 1 then
if bSplitMove and EMT.FLAG2 == 1 then
local sEEPreMove = ' EE' .. EgtIf( bZmax, '3', '4')
local sOutPreMove
if EMT.HEAD == 'H3' or bGoToHome then
+5 -2
View File
@@ -689,9 +689,12 @@ function OnRapid()
EmtOutput( '( * ' .. sOut .. ' * )')
end
local bSplitMove = false
bSplitMove = bSplitMove or EMT.HEAD == 'H3'
bSplitMove = bSplitMove or ( not EMT.LOAD and ( bZmax and EMT.TTOTLEN > 200))
bSplitMove = bSplitMove or ( not EMT.LOAD and ( EMT.ST > BeamHeightForFixRot or ( EMT.HEAD == 'H1' and EMT.TTOTLEN > 350) or bGoToHome))
-- se carico motosega, ruoto in zona sicura prima di approcciare la lavorazione
if not EMT.LOAD and ( EMT.HEAD == 'H3' or ( bZmax and EMT.TTOTLEN > 200)) and
( EMT.ST > BeamHeightForFixRot or ( EMT.HEAD == 'H1' and EMT.TTOTLEN > 350) or bGoToHome) and EMT.FLAG2 == 1 then
if bSplitMove and EMT.FLAG2 == 1 then
local sOutPreMove
if EMT.HEAD == 'H3' or bGoToHome then
if EMT.PREVHEAD == 'H3' then