diff --git a/Common-PF1250.mlpe b/Common-PF1250.mlpe index 895ac30..93fe4c4 100644 --- a/Common-PF1250.mlpe +++ b/Common-PF1250.mlpe @@ -420,7 +420,7 @@ function OnSimulToolSelect( dPosA) dPosA = dPosA or GetNextChainSawingVirtualAxis( EMT.MCHID) -- imposto il valore di A EgtSetAxisPos( 'A1', dPosA) - -- imposto home dell'asse C1 (A=0 -> T101, A=90 -> T104) + -- imposto home dell'asse C1 (A1=0 -> T101, A1=90 -> T104) local MyParkCSawC1 = GetChainSawCHomeFromVirtualAxis( dPosA) EmtModifyAxisHome( 'C1', MyParkCSawC1) EgtSetAxisPos( 'C1', MyParkCSawC1) @@ -433,7 +433,7 @@ function OnSimulToolSelect( dPosA) dPosA = dPosA or GetNextSawingVirtualAxis( EMT.MCHID) -- imposto il valore di A EgtSetAxisPos( 'A2', dPosA) - -- imposto home dell'asse C1 (A=0 -> T101, A=90 -> T104) + -- imposto home dell'asse C1 (A2=0 -> T101, A2=90 -> T104) local MyParkSawC2 = GetSawCHomeFromVirtualAxis( dPosA) EmtModifyAxisHome( 'C2', MyParkSawC2) EgtSetAxisPos( 'C2', MyParkSawC2) @@ -494,7 +494,7 @@ function OnSimulToolDeselect( dPrevA) -- se testa gruppo 1 else -- deposito utensile fresa - if EMT.PREVHEAD_H1 == 'H11' or EMT.PREVHEAD_H1 == 'H14' then + if EMT.PREVHEAD_H1 == 'H11' then -- simulo movimento local nPrevTc = GetTcForTopHeadTool( EMT.PREVTCPOS_H1) if EMT.PREVTTOTLEN_H1 < LongTool then @@ -554,7 +554,7 @@ function OnSimulToolDeselect( dPrevA) end -- movimento per prendere nuovo utensile -- prendo utensile fresa - if EMT.NEXTHEAD == 'H11' or EMT.NEXTHEAD == 'H14' then + if EMT.NEXTHEAD == 'H11' then -- simulo movimento SimulMoveAxes( 'B1', ParkB1, MCH_SIM_STEP.RAPROT, 'C1', ParkC1, MCH_SIM_STEP.RAPROT) local dPosX = EgtIf( GetTcForTopHeadTool( EMT.NEXTTCPOS) ~= 2, ParkX1, ParkTc2X1) @@ -580,8 +580,11 @@ function OnSimulToolDeselect( dPrevA) -- simulo movimento SimulMoveAxes( 'B2', ParkB2, MCH_SIM_STEP.RAPROT, 'C2', ParkC2, MCH_SIM_STEP.RAPROT) SimulMoveAxis( 'X2', ParkX2, MCH_SIM_STEP.RAPID) - -- prendo utensile seconda lama + -- prendo utensile lama su aggregato elseif EMT.NEXTHEAD == 'H22' then + -- aggiungo utensile per verifica collisione + AddToolToCollisionObj( EMT.NEXTTOOL, EMT.NEXTHEAD, EMT.NEXTEXIT, 1011, false) + AddToolHolderToCollisionObj( EMT.NEXTTOOL, EMT.NEXTHEAD, EMT.NEXTEXIT, 1011 + 1) -- simulo movimento SimulMoveAxis( 'X2', ParkSawX2, MCH_SIM_STEP.RAPID) SimulMoveAxes( 'B2', ParkSawB2, MCH_SIM_STEP.COLLROT, 'C2', ParkSawC2, MCH_SIM_STEP.COLLROT) @@ -605,7 +608,7 @@ function OnSimulMachiningStart() if EMT.HEAD == 'H22' and EMT.HEAD == EMT.PREVHEAD_H2 then local dPrevA = EgtGetAxisPos( 'A2') local sVal = EgtGetMachiningParam( MCH_MP.BLOCKEDAXIS) - local dPosA = tonumber( sVal:sub( 4)) + local dPosA = tonumber( sVal:sub( 4)) or 0 if abs( dPosA - dPrevA) > 1 then ExecParkRoller( nil, nil, nil, nil, false, bAgg) OnSimulToolDeselect( dPrevA) @@ -2283,7 +2286,7 @@ end --------------------------------------------------------------------- function RollerParkingNeeded( sHead, dAng1p, dAng2p, dAng1, dAng2) - if sHead == 'H11' or sHead == 'H14' or sHead == 'H12' or sHead == 'H13' or sHead == 'H16' then + if sHead == 'H11' or sHead == 'H12' or sHead == 'H13' or sHead == 'H16' then return ( abs( dAng1 - dAng1p) > 1 or ( abs( dAng2 - dAng2p) > 1 and abs( dAng1 % 180.0) > 1)) elseif sHead == 'H21' or sHead == 'H22' then return ( abs( dAng1 - dAng1p) > 1 or ( abs( dAng2 - dAng2p) > 1 and abs( dAng1 % 180.0) > 1)) diff --git a/Common-PF1250.mlse b/Common-PF1250.mlse index 1f12177..a59bded 100644 --- a/Common-PF1250.mlse +++ b/Common-PF1250.mlse @@ -62,7 +62,7 @@ function OnSpecialGetMaxZ() local bBSameSign = (( EMC.R2p < 10 and EMC.R2 < 10) or ( EMC.R2p > -10 and EMC.R2 > -10)) -- Calcolo in funzione della testa e dei parametri - if EMC.HEAD == 'H11' or EMC.HEAD == 'H14' then + if EMC.HEAD == 'H11' then if bBSameSign and vtTp:getX() > -0.1 and vtT:getX() > -0.1 then EMC.MAXZ = MaxZ1 else @@ -133,7 +133,7 @@ function OnSpecialMoveZup() -- se fresa su testa1 o testa 2 - if EMC.HEAD == 'H11' or EMC.HEAD == 'H14' or EMC.HEAD == 'H21' or EMC.HEAD == 'H22' then + if EMC.HEAD == 'H11' or EMC.HEAD == 'H21' or EMC.HEAD == 'H22' then ; -- se lama else diff --git a/Essetre-PF1250.nge b/Essetre-PF1250.nge index c4b6172..718ed1b 100644 Binary files a/Essetre-PF1250.nge and b/Essetre-PF1250.nge differ diff --git a/Essetre-PF1250MAX.ini b/Essetre-PF1250MAX.ini index 475dd6b..6f58626 100644 --- a/Essetre-PF1250MAX.ini +++ b/Essetre-PF1250MAX.ini @@ -20,8 +20,6 @@ H11.1=Standard.nge H11.1:MILL_NOTIP=MillNoTip.nge H12.1=Saw.nge H13.1=ChainSaw.nge -H14.1=Standard.nge -H14.1:MILL_NOTIP=MillNoTip.nge H16.1=Saw.nge H21.1=Standard.nge H21.1:MILL_NOTIP=MillNoTip.nge @@ -53,8 +51,6 @@ H11=6608 H12=6615 ; Chainsaw H13=6616 -; 5 axis head -H14=6608 ; 5 axis second saw H16=6623 ; Second 5 axis bottom head diff --git a/Essetre-PF1250MAX.mlde b/Essetre-PF1250MAX.mlde index 285d0e4..07895cd 100644 --- a/Essetre-PF1250MAX.mlde +++ b/Essetre-PF1250MAX.mlde @@ -9,6 +9,7 @@ -- Abbasstata testa 2 di 300mm -- Parcheggio motosega portato a -1700mm -- Corretto movimento testa 2 in ToolDesel e movimento controllo collisione +-- Tolta testa H14 per utensili speciali. Si utilizza H11 per frese standard -- Intestazioni require( 'EmtGenerator') @@ -87,11 +88,11 @@ MinB1b = -119 MaxB1b = 119 ParkX1 = 250 ParkTc2X1 = 3100 -ParkZ1 = -535 +ParkZ1 = -525 ParkC1 = -90 ParkB1 = -90 ParkCSawX1 = 1700 -ParkCSawZ1 = -200 +ParkCSawZ1 = -100 ParkCSaw0Z1 = -400 ParkCSawC1 = -90 ParkCSaw0C1 = 0 @@ -326,23 +327,6 @@ local H12Id = EmtHead { Geo = 'H12_HEAD/GEO'} EgtSetInfo( H12Id, 'ZEXTRA', '160,60') EgtSetInfo( H12Id, 'ZMAXONROT', '1,190') --- Utensili speciali -if TcSpecialTools then -local H14Id = EmtHead { - Name = 'H14', - Parent = 'B1', - HSet = 'H11', - Type = MCH_HT.STD, - Pos = Point3d(0,0,0), - TDir = Z_AX(), - ADir = -Y_AX(), - Rot1W = 0.2, - Rot2Stroke = { MinB1, MaxB1}, - OthColl = {'B1/SOLID', 'C1/SOLID'}, - Geo = 'H14_HEAD/GEO'} -EgtSetInfo( H14Id, 'ZEXTRA', '160,60') -EgtSetInfo( H14Id, 'ZMAXONROT', '1,190') -end -- Lama 2 if SecondSaw then local H16Id = EmtHead { @@ -484,8 +468,6 @@ if TcAggreBladeUnder then Geo = 'H22_HEAD/GEO'} EgtSetInfo( H21Id, 'ABOVE', '0') EgtSetInfo( H21Id, 'ZHOMEDOWN', '1') - EgtSetInfo( H22Id, 'ZEXTRA', '160,60') - EgtSetInfo( H22Id, 'ZMAXONROT', '1,190') end -- *** Carrelli *** -- Morse @@ -927,8 +909,8 @@ PY2LightId = EgtGetFirstNameInGroup( EgtGetFirstNameInGroup( Y2Id, 'SOLID') or G --------------------------------------------------------------------- function OnSetHead() - -- se testa H11 o H14 (fresa) - if EMC.HEAD == 'H11' or EMC.HEAD == 'H14' then + -- se testa H11 (fresa) + if EMC.HEAD == 'H11' then local nTc = GetTcForTopHeadTool( EMC.TCPOS) if nTc ~= 2 then EmtModifyAxisHome( 'X1', ParkX1) @@ -1014,7 +996,7 @@ end --------------------------------------------------------------------- function GetHeadSet( sHead) - if sHead == 'H11' or sHead == 'H12' or sHead == 'H13' or sHead == 'H14' or sHead == 'H16' then + if sHead == 'H11' or sHead == 'H12' or sHead == 'H13' or sHead == 'H16' then return 1 elseif sHead == 'H21' or sHead == 'H22' then return 2 @@ -1057,7 +1039,7 @@ function GetAdjHeadFromTcPos( nHeadSet, sTcPos) return 'H16' -- utensili speciali elseif TcSpecialTools and sTcPos == 'T121' then - return 'H14' + return 'H11' -- motoseghe elseif sTcPos == 'T101' or sTcPos == 'T111' then return 'H13' @@ -1087,10 +1069,10 @@ end --------------------------------------------------------------------- -- Funzione che calcola la posizione Home di Z per la sega a catena dal valore dell'asse virtuale function GetChainSawZHomeFromVirtualAxis( dPosA) - -- se A=0 -> T101 -> HomeZ = -400 + -- se A1=0 -> T101 -> HomeZ = -400 if abs( dPosA) < 0.1 then return ParkCSaw0Z1 - -- altrimenti A=-90 -> T102 o A=90 -> T104 -> HomeZ = -100 + -- altrimenti A1=-90 -> T102 o A=90 -> T104 -> HomeZ = -100 else return ParkCSawZ1 end @@ -1099,10 +1081,10 @@ end --------------------------------------------------------------------- -- Funzione che calcola l'angolo Home di C per la sega a catena dal valore dell'asse virtuale function GetChainSawCHomeFromVirtualAxis( dPosA) - -- se A=0 -> T101 -> HomeC = 0 + -- se A1=0 -> T101 -> HomeC = 0 if abs( dPosA) < 0.1 then return ParkCSaw0C1 - -- altrimenti A=90 -> T104 -> HomeC = -90 + -- altrimenti A1=90 -> T104 -> HomeC = -90 else return ParkCSawC1 end @@ -1111,10 +1093,10 @@ end --------------------------------------------------------------------- -- Funzione che calcola l'angolo Home di C per la lama su aggregato dal valore dell'asse virtuale function GetSawCHomeFromVirtualAxis( dPosA) - -- se A1=0 -> 201 -> HomeC = -90 + -- se A2=0 -> 201 -> HomeC = -90 if abs( dPosA) < 0.1 then return ParkSaw0C2 - -- altrimenti A1=90 -> T204 -> HomeC = -90 + -- altrimenti A2=90 -> T204 -> HomeC = -90 else return ParkSawC2 end @@ -1124,7 +1106,7 @@ function GetSawCHomeFromVirtualAxis( dPosA) -- Funzione che ritorna ZExtra partendo dalla testa e dall'angolo verticale function GetZExtra( sHead, dAngV) -- se testa standard - if sHead == 'H11' or sHead == 'H14' then + if sHead == 'H11' then if abs( dAngV) < 30.1 then return 400 elseif abs( dAngV) < 45.1 then diff --git a/Scripts/SetUp.lua b/Scripts/SetUp.lua index 7392fdc..6badc4d 100644 --- a/Scripts/SetUp.lua +++ b/Scripts/SetUp.lua @@ -31,8 +31,8 @@ local GS = {} local PositionTable = {} local bTc2Active = ( EgtGetFirstNameInGroup( EgtGetBaseId( 'Base'), 'TC2') ~= nil) local SecondSaw = ( EgtGetHeadId( 'H16') ~= nil) -local SecondChain = ( EgtGetFirstNameInGroup( EgtGetBaseId( 'Base'), 'TC5') ~= nil) -local TcSpecialTools = ( EgtGetHeadId( 'H14') ~= nil) +local SecondChain = ( EgtGetFirstNameInGroup( EgtGetBaseId( 'Base'), 'TC4') ~= nil) +local TcSpecialTools = ( EgtGetFirstNameInGroup( EgtGetBaseId( 'Base'), 'TC5') ~= nil) local TcAggreBladeUnder = ( EgtGetFirstNameInGroup( EgtGetBaseId( 'Base'), 'TCS') ~= nil) local bFullOpt = bTc2Active and SecondSaw and SecondChain and TcSpecialTools and TcAggreBladeUnder -- se ha tutti gli optional attivati @@ -52,7 +52,7 @@ if bFullOpt then {Pos = "Pos13", TcPos = "T13", Head = "H11", Group = "G1"}, {Pos = "Pos14", TcPos = "T101", Head = "H13", Group = "G2"}, -- motosega {Pos = "Pos15", TcPos = "T111", Head = "H13", Group = "G2"}, -- motosega 2 - {Pos = "Pos16", TcPos = "T121", Head = "H14", Group = "G2"}, -- utensile speciale + {Pos = "Pos16", TcPos = "T121", Head = "H11", Group = "G2"}, -- utensile speciale {Pos = "Pos17", TcPos = "T21", Head = "H16", Group = "G3"}, -- TC 2 {Pos = "Pos18", TcPos = "T22", Head = "H11", Group = "G3"}, {Pos = "Pos19", TcPos = "T23", Head = "H11", Group = "G3"},