Compare commits

..

2 Commits

Author SHA1 Message Date
andrea.villa 612929dca8 Apertura pinze anche in LOAD 2026-06-26 12:43:32 +02:00
andrea.villa 7ec47d6ac2 Corretta simulazione scarico motosega
sistemato errore in MLDE
2026-06-26 10:18:17 +02:00
4 changed files with 33 additions and 17 deletions
+27
View File
@@ -862,6 +862,33 @@ function OnRapid()
if EMT.MDCHAR[i].MovType ~= 1 then bOnlyCharY = false end
end
EMT.MDCHAR = {}
local bParkV = false
-- verifica se serve aprire i carrelli
local bCondBase = EMT.MCHFIRST or EMT.MOVE == 0
local bCondPosition = EMT.V1POS < EMT.V1NEXTPOS - 1 or
EMT.V2POS > EMT.V2NEXTPOS + 1 or
RollerParkingNeeded( EMT.HEAD, EMT.R1, EMT.R2, EMT.R1, EMT.R2)
if bCondBase and bCondPosition then
bParkV = true
end
local bNlhParkV = ( EMT.MOVE == 0 and ( EMT.FLAG2 == 1 or EMT.FLAG2 == 2))
if bNlhParkV then
bParkV = ( EMT.FLAG == 2 and bParkV) or ( not EMT.MCHSPLIT or bSplit)
end
if bParkV or bNlhParkV then
local bMchSplit = ( bNlhParkV and EMT.MCHSPLIT and bSplit)
local bAgg = EgtExistsInfo( EMT.PATHID, 'CNT')
if EMT.SPLIT_Y1DELTA and not EMT.MCHSPLIT then EMT.Y1DELTA = EMT.SPLIT_Y1DELTA end
local dPosT = EMT.TPOS or EMT.L1op
EmitParkRoller( dPosT, bMchSplit, bAgg)
end
if EMT.SPLIT_Y1DELTA then EMT.Y1DELTA = EMT.SPLIT_Y1DELTA end
EmitMoveStartChars( EgtIf( bOnlyCharY, 1, 3))
EmtOutput( '( *** '..EMT.MCHNAME..'/'..EMT.TOOL..' *** )')
+4 -12
View File
@@ -537,14 +537,6 @@ function OnSimulToolSelect( dPosA)
end
end
-- se ho due teste, verifico che l'altra sia dalla parte opposta
--if EgtGetHeadId( 'H21') then
-- if nSetHead == 1 then
-- EgtSetAxisPos( 'X2', MinX2)
-- else
-- EgtSetAxisPos( 'X1', MaxX1)
-- end
--end
-- se sega a catena, imposto subito angolo scelto per asse virtuale A
if HeadIsChainSaw( EMT.HEAD) then
-- apro le paratie
@@ -624,8 +616,8 @@ function OnSimulToolDeselect( dPrevA)
-- nascondo l'utensile sulla testa
EgtSetMode( EgtGetHeadId( EMT.PREVHEAD_H1 or '') or GDB_ID.NULL, GDB_MD.HIDDEN)
-- se non è chiamata per cambio angolo di presa della sega a catena
if not dPrevA then
local sTool, sHead, sTcPos = FindNextToolOnHeadSet( 1, false)
local sTool, sHead, sTcPos = FindNextToolOnHeadSet( 1, false)
if not dPrevA or not sTool then
-- imposto correttamente i dati di testa
local OrigEMC = EMC
EMC = { HEAD = sHead, TOOL = sTool, TCPOS = sTcPos, TOTDIAM = 0}
@@ -651,13 +643,13 @@ function OnSimulToolDeselect( dPrevA)
-- nascondo l'utensile sulla testa
EgtSetMode( EgtGetHeadId( EMT.PREVHEAD_H2 or '') or GDB_ID.NULL, GDB_MD.HIDDEN)
-- se non è chiamata per cambio angolo di presa della sega a catena
if not dPrevA then
local sTool, sHead, sTcPos = FindNextToolOnHeadSet( 2, false)
if not dPrevA or not sTool then
-- cambio utensile
EgtSetAxisPos( 'C2', ParkC2)
EgtSetAxisPos( 'B2', ParkB2)
EgtSetAxisPos( 'Z2', MaxZ2)
SimulMoveAxis( 'X2', ParkX2, MCH_SIM_STEP.RAPID)
local sTool, sHead, sTcPos = FindNextToolOnHeadSet( 2, false)
local OrigEMC = EMC
EMC = { HEAD = sHead or 'H21', TOOL = sTool, TCPOS = sTcPos, TOTDIAM = 0}
OnSetHead()
+1 -1
View File
@@ -477,7 +477,7 @@ function OnSpecialLink()
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2p, EMC.L3p, EMC.R1p, EMC.R2p, EMC.R3}, 30, 2, 2, 'FirstClimb=1;')
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, EMC.L3p, EMC.R1, EMC.R2p, EMC.R3}, 30, 2, 2)
if abs( EMC.R3) < 0.1 then
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, ParkCSaw0Z1, EMC.R1, EMC.R2, EMC.R3}, 30, 2, 2)
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, ParkCSaw0Z2, EMC.R1, EMC.R2, EMC.R3}, 30, 2, 2)
else
EmtAddClimb( EMC.NEXTMCHID, EMC.NEXTMAIN, { EMC.L1, EMC.L2, EMC.L3p, EMC.R1, EMC.R2, EMC.R3}, 30, 2, 2)
end
+1 -4
View File
@@ -32,7 +32,7 @@
require( 'EmtGenerator')
EgtEnableDebug( false)
PP_VER = '3.1f1_RC8'
PP_VER = '3.1f1_RC10'
PP_NVER = '3.1.6.1'
MIN_MACH_VER = '2.5k1'
MACH_NAME = EgtGetCurrMachineName()
@@ -848,9 +848,6 @@ function OnSetHead()
EmtModifyAxisHome( 'C1', GetChainSawCHomeFromVirtualAxis( CSawPosA))
EmtModifyAxisHome( 'B1', ParkCSawB1)
EmtModifyAxisDirection( 'B1', X_AX())
-- se testa H15 (mortasatrice di One)
elseif EMC.HEAD == 'H15' then
error( 'Error : Mortiser not yet managed')
end
end