Tolta testa H14 per utensili speciali. Si utilizza H11 per frese standard

This commit is contained in:
andrea.villa
2024-01-04 12:12:24 +01:00
parent caf990c23b
commit c51a208c4a
6 changed files with 29 additions and 48 deletions
+10 -7
View File
@@ -420,7 +420,7 @@ function OnSimulToolSelect( dPosA)
dPosA = dPosA or GetNextChainSawingVirtualAxis( EMT.MCHID) dPosA = dPosA or GetNextChainSawingVirtualAxis( EMT.MCHID)
-- imposto il valore di A -- imposto il valore di A
EgtSetAxisPos( 'A1', dPosA) 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) local MyParkCSawC1 = GetChainSawCHomeFromVirtualAxis( dPosA)
EmtModifyAxisHome( 'C1', MyParkCSawC1) EmtModifyAxisHome( 'C1', MyParkCSawC1)
EgtSetAxisPos( 'C1', MyParkCSawC1) EgtSetAxisPos( 'C1', MyParkCSawC1)
@@ -433,7 +433,7 @@ function OnSimulToolSelect( dPosA)
dPosA = dPosA or GetNextSawingVirtualAxis( EMT.MCHID) dPosA = dPosA or GetNextSawingVirtualAxis( EMT.MCHID)
-- imposto il valore di A -- imposto il valore di A
EgtSetAxisPos( 'A2', dPosA) 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) local MyParkSawC2 = GetSawCHomeFromVirtualAxis( dPosA)
EmtModifyAxisHome( 'C2', MyParkSawC2) EmtModifyAxisHome( 'C2', MyParkSawC2)
EgtSetAxisPos( 'C2', MyParkSawC2) EgtSetAxisPos( 'C2', MyParkSawC2)
@@ -494,7 +494,7 @@ function OnSimulToolDeselect( dPrevA)
-- se testa gruppo 1 -- se testa gruppo 1
else else
-- deposito utensile fresa -- deposito utensile fresa
if EMT.PREVHEAD_H1 == 'H11' or EMT.PREVHEAD_H1 == 'H14' then if EMT.PREVHEAD_H1 == 'H11' then
-- simulo movimento -- simulo movimento
local nPrevTc = GetTcForTopHeadTool( EMT.PREVTCPOS_H1) local nPrevTc = GetTcForTopHeadTool( EMT.PREVTCPOS_H1)
if EMT.PREVTTOTLEN_H1 < LongTool then if EMT.PREVTTOTLEN_H1 < LongTool then
@@ -554,7 +554,7 @@ function OnSimulToolDeselect( dPrevA)
end end
-- movimento per prendere nuovo utensile -- movimento per prendere nuovo utensile
-- prendo utensile fresa -- prendo utensile fresa
if EMT.NEXTHEAD == 'H11' or EMT.NEXTHEAD == 'H14' then if EMT.NEXTHEAD == 'H11' then
-- simulo movimento -- simulo movimento
SimulMoveAxes( 'B1', ParkB1, MCH_SIM_STEP.RAPROT, 'C1', ParkC1, MCH_SIM_STEP.RAPROT) SimulMoveAxes( 'B1', ParkB1, MCH_SIM_STEP.RAPROT, 'C1', ParkC1, MCH_SIM_STEP.RAPROT)
local dPosX = EgtIf( GetTcForTopHeadTool( EMT.NEXTTCPOS) ~= 2, ParkX1, ParkTc2X1) local dPosX = EgtIf( GetTcForTopHeadTool( EMT.NEXTTCPOS) ~= 2, ParkX1, ParkTc2X1)
@@ -580,8 +580,11 @@ function OnSimulToolDeselect( dPrevA)
-- simulo movimento -- simulo movimento
SimulMoveAxes( 'B2', ParkB2, MCH_SIM_STEP.RAPROT, 'C2', ParkC2, MCH_SIM_STEP.RAPROT) SimulMoveAxes( 'B2', ParkB2, MCH_SIM_STEP.RAPROT, 'C2', ParkC2, MCH_SIM_STEP.RAPROT)
SimulMoveAxis( 'X2', ParkX2, MCH_SIM_STEP.RAPID) SimulMoveAxis( 'X2', ParkX2, MCH_SIM_STEP.RAPID)
-- prendo utensile seconda lama -- prendo utensile lama su aggregato
elseif EMT.NEXTHEAD == 'H22' then 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 -- simulo movimento
SimulMoveAxis( 'X2', ParkSawX2, MCH_SIM_STEP.RAPID) SimulMoveAxis( 'X2', ParkSawX2, MCH_SIM_STEP.RAPID)
SimulMoveAxes( 'B2', ParkSawB2, MCH_SIM_STEP.COLLROT, 'C2', ParkSawC2, MCH_SIM_STEP.COLLROT) 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 if EMT.HEAD == 'H22' and EMT.HEAD == EMT.PREVHEAD_H2 then
local dPrevA = EgtGetAxisPos( 'A2') local dPrevA = EgtGetAxisPos( 'A2')
local sVal = EgtGetMachiningParam( MCH_MP.BLOCKEDAXIS) 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 if abs( dPosA - dPrevA) > 1 then
ExecParkRoller( nil, nil, nil, nil, false, bAgg) ExecParkRoller( nil, nil, nil, nil, false, bAgg)
OnSimulToolDeselect( dPrevA) OnSimulToolDeselect( dPrevA)
@@ -2283,7 +2286,7 @@ end
--------------------------------------------------------------------- ---------------------------------------------------------------------
function RollerParkingNeeded( sHead, dAng1p, dAng2p, dAng1, dAng2) 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)) return ( abs( dAng1 - dAng1p) > 1 or ( abs( dAng2 - dAng2p) > 1 and abs( dAng1 % 180.0) > 1))
elseif sHead == 'H21' or sHead == 'H22' then elseif sHead == 'H21' or sHead == 'H22' then
return ( abs( dAng1 - dAng1p) > 1 or ( abs( dAng2 - dAng2p) > 1 and abs( dAng1 % 180.0) > 1)) return ( abs( dAng1 - dAng1p) > 1 or ( abs( dAng2 - dAng2p) > 1 and abs( dAng1 % 180.0) > 1))
+2 -2
View File
@@ -62,7 +62,7 @@ function OnSpecialGetMaxZ()
local bBSameSign = (( EMC.R2p < 10 and EMC.R2 < 10) or ( EMC.R2p > -10 and EMC.R2 > -10)) 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 -- 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 if bBSameSign and vtTp:getX() > -0.1 and vtT:getX() > -0.1 then
EMC.MAXZ = MaxZ1 EMC.MAXZ = MaxZ1
else else
@@ -133,7 +133,7 @@ function OnSpecialMoveZup()
-- se fresa su testa1 o testa 2 -- 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 -- se lama
else else
Binary file not shown.
-4
View File
@@ -20,8 +20,6 @@ H11.1=Standard.nge
H11.1:MILL_NOTIP=MillNoTip.nge H11.1:MILL_NOTIP=MillNoTip.nge
H12.1=Saw.nge H12.1=Saw.nge
H13.1=ChainSaw.nge H13.1=ChainSaw.nge
H14.1=Standard.nge
H14.1:MILL_NOTIP=MillNoTip.nge
H16.1=Saw.nge H16.1=Saw.nge
H21.1=Standard.nge H21.1=Standard.nge
H21.1:MILL_NOTIP=MillNoTip.nge H21.1:MILL_NOTIP=MillNoTip.nge
@@ -53,8 +51,6 @@ H11=6608
H12=6615 H12=6615
; Chainsaw ; Chainsaw
H13=6616 H13=6616
; 5 axis head
H14=6608
; 5 axis second saw ; 5 axis second saw
H16=6623 H16=6623
; Second 5 axis bottom head ; Second 5 axis bottom head
+14 -32
View File
@@ -9,6 +9,7 @@
-- Abbasstata testa 2 di 300mm -- Abbasstata testa 2 di 300mm
-- Parcheggio motosega portato a -1700mm -- Parcheggio motosega portato a -1700mm
-- Corretto movimento testa 2 in ToolDesel e movimento controllo collisione -- Corretto movimento testa 2 in ToolDesel e movimento controllo collisione
-- Tolta testa H14 per utensili speciali. Si utilizza H11 per frese standard
-- Intestazioni -- Intestazioni
require( 'EmtGenerator') require( 'EmtGenerator')
@@ -87,11 +88,11 @@ MinB1b = -119
MaxB1b = 119 MaxB1b = 119
ParkX1 = 250 ParkX1 = 250
ParkTc2X1 = 3100 ParkTc2X1 = 3100
ParkZ1 = -535 ParkZ1 = -525
ParkC1 = -90 ParkC1 = -90
ParkB1 = -90 ParkB1 = -90
ParkCSawX1 = 1700 ParkCSawX1 = 1700
ParkCSawZ1 = -200 ParkCSawZ1 = -100
ParkCSaw0Z1 = -400 ParkCSaw0Z1 = -400
ParkCSawC1 = -90 ParkCSawC1 = -90
ParkCSaw0C1 = 0 ParkCSaw0C1 = 0
@@ -326,23 +327,6 @@ local H12Id = EmtHead {
Geo = 'H12_HEAD/GEO'} Geo = 'H12_HEAD/GEO'}
EgtSetInfo( H12Id, 'ZEXTRA', '160,60') EgtSetInfo( H12Id, 'ZEXTRA', '160,60')
EgtSetInfo( H12Id, 'ZMAXONROT', '1,190') 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 -- Lama 2
if SecondSaw then if SecondSaw then
local H16Id = EmtHead { local H16Id = EmtHead {
@@ -484,8 +468,6 @@ if TcAggreBladeUnder then
Geo = 'H22_HEAD/GEO'} Geo = 'H22_HEAD/GEO'}
EgtSetInfo( H21Id, 'ABOVE', '0') EgtSetInfo( H21Id, 'ABOVE', '0')
EgtSetInfo( H21Id, 'ZHOMEDOWN', '1') EgtSetInfo( H21Id, 'ZHOMEDOWN', '1')
EgtSetInfo( H22Id, 'ZEXTRA', '160,60')
EgtSetInfo( H22Id, 'ZMAXONROT', '1,190')
end end
-- *** Carrelli *** -- *** Carrelli ***
-- Morse -- Morse
@@ -927,8 +909,8 @@ PY2LightId = EgtGetFirstNameInGroup( EgtGetFirstNameInGroup( Y2Id, 'SOLID') or G
--------------------------------------------------------------------- ---------------------------------------------------------------------
function OnSetHead() function OnSetHead()
-- se testa H11 o H14 (fresa) -- se testa H11 (fresa)
if EMC.HEAD == 'H11' or EMC.HEAD == 'H14' then if EMC.HEAD == 'H11' then
local nTc = GetTcForTopHeadTool( EMC.TCPOS) local nTc = GetTcForTopHeadTool( EMC.TCPOS)
if nTc ~= 2 then if nTc ~= 2 then
EmtModifyAxisHome( 'X1', ParkX1) EmtModifyAxisHome( 'X1', ParkX1)
@@ -1014,7 +996,7 @@ end
--------------------------------------------------------------------- ---------------------------------------------------------------------
function GetHeadSet( sHead) 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 return 1
elseif sHead == 'H21' or sHead == 'H22' then elseif sHead == 'H21' or sHead == 'H22' then
return 2 return 2
@@ -1057,7 +1039,7 @@ function GetAdjHeadFromTcPos( nHeadSet, sTcPos)
return 'H16' return 'H16'
-- utensili speciali -- utensili speciali
elseif TcSpecialTools and sTcPos == 'T121' then elseif TcSpecialTools and sTcPos == 'T121' then
return 'H14' return 'H11'
-- motoseghe -- motoseghe
elseif sTcPos == 'T101' or sTcPos == 'T111' then elseif sTcPos == 'T101' or sTcPos == 'T111' then
return 'H13' 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 -- Funzione che calcola la posizione Home di Z per la sega a catena dal valore dell'asse virtuale
function GetChainSawZHomeFromVirtualAxis( dPosA) function GetChainSawZHomeFromVirtualAxis( dPosA)
-- se A=0 -> T101 -> HomeZ = -400 -- se A1=0 -> T101 -> HomeZ = -400
if abs( dPosA) < 0.1 then if abs( dPosA) < 0.1 then
return ParkCSaw0Z1 return ParkCSaw0Z1
-- altrimenti A=-90 -> T102 o A=90 -> T104 -> HomeZ = -100 -- altrimenti A1=-90 -> T102 o A=90 -> T104 -> HomeZ = -100
else else
return ParkCSawZ1 return ParkCSawZ1
end end
@@ -1099,10 +1081,10 @@ end
--------------------------------------------------------------------- ---------------------------------------------------------------------
-- Funzione che calcola l'angolo Home di C per la sega a catena dal valore dell'asse virtuale -- Funzione che calcola l'angolo Home di C per la sega a catena dal valore dell'asse virtuale
function GetChainSawCHomeFromVirtualAxis( dPosA) function GetChainSawCHomeFromVirtualAxis( dPosA)
-- se A=0 -> T101 -> HomeC = 0 -- se A1=0 -> T101 -> HomeC = 0
if abs( dPosA) < 0.1 then if abs( dPosA) < 0.1 then
return ParkCSaw0C1 return ParkCSaw0C1
-- altrimenti A=90 -> T104 -> HomeC = -90 -- altrimenti A1=90 -> T104 -> HomeC = -90
else else
return ParkCSawC1 return ParkCSawC1
end end
@@ -1111,10 +1093,10 @@ end
--------------------------------------------------------------------- ---------------------------------------------------------------------
-- Funzione che calcola l'angolo Home di C per la lama su aggregato dal valore dell'asse virtuale -- Funzione che calcola l'angolo Home di C per la lama su aggregato dal valore dell'asse virtuale
function GetSawCHomeFromVirtualAxis( dPosA) function GetSawCHomeFromVirtualAxis( dPosA)
-- se A1=0 -> 201 -> HomeC = -90 -- se A2=0 -> 201 -> HomeC = -90
if abs( dPosA) < 0.1 then if abs( dPosA) < 0.1 then
return ParkSaw0C2 return ParkSaw0C2
-- altrimenti A1=90 -> T204 -> HomeC = -90 -- altrimenti A2=90 -> T204 -> HomeC = -90
else else
return ParkSawC2 return ParkSawC2
end end
@@ -1124,7 +1106,7 @@ function GetSawCHomeFromVirtualAxis( dPosA)
-- Funzione che ritorna ZExtra partendo dalla testa e dall'angolo verticale -- Funzione che ritorna ZExtra partendo dalla testa e dall'angolo verticale
function GetZExtra( sHead, dAngV) function GetZExtra( sHead, dAngV)
-- se testa standard -- se testa standard
if sHead == 'H11' or sHead == 'H14' then if sHead == 'H11' then
if abs( dAngV) < 30.1 then if abs( dAngV) < 30.1 then
return 400 return 400
elseif abs( dAngV) < 45.1 then elseif abs( dAngV) < 45.1 then
+3 -3
View File
@@ -31,8 +31,8 @@ local GS = {}
local PositionTable = {} local PositionTable = {}
local bTc2Active = ( EgtGetFirstNameInGroup( EgtGetBaseId( 'Base'), 'TC2') ~= nil) local bTc2Active = ( EgtGetFirstNameInGroup( EgtGetBaseId( 'Base'), 'TC2') ~= nil)
local SecondSaw = ( EgtGetHeadId( 'H16') ~= nil) local SecondSaw = ( EgtGetHeadId( 'H16') ~= nil)
local SecondChain = ( EgtGetFirstNameInGroup( EgtGetBaseId( 'Base'), 'TC5') ~= nil) local SecondChain = ( EgtGetFirstNameInGroup( EgtGetBaseId( 'Base'), 'TC4') ~= nil)
local TcSpecialTools = ( EgtGetHeadId( 'H14') ~= nil) local TcSpecialTools = ( EgtGetFirstNameInGroup( EgtGetBaseId( 'Base'), 'TC5') ~= nil)
local TcAggreBladeUnder = ( EgtGetFirstNameInGroup( EgtGetBaseId( 'Base'), 'TCS') ~= 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 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 = "Pos13", TcPos = "T13", Head = "H11", Group = "G1"},
{Pos = "Pos14", TcPos = "T101", Head = "H13", Group = "G2"}, -- motosega {Pos = "Pos14", TcPos = "T101", Head = "H13", Group = "G2"}, -- motosega
{Pos = "Pos15", TcPos = "T111", Head = "H13", Group = "G2"}, -- motosega 2 {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 = "Pos17", TcPos = "T21", Head = "H16", Group = "G3"}, -- TC 2
{Pos = "Pos18", TcPos = "T22", Head = "H11", Group = "G3"}, {Pos = "Pos18", TcPos = "T22", Head = "H11", Group = "G3"},
{Pos = "Pos19", TcPos = "T23", Head = "H11", Group = "G3"}, {Pos = "Pos19", TcPos = "T23", Head = "H11", Group = "G3"},