Tolta testa H14 per utensili speciali. Si utilizza H11 per frese standard
This commit is contained in:
+10
-7
@@ -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))
|
||||
|
||||
+2
-2
@@ -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
|
||||
|
||||
Binary file not shown.
@@ -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
|
||||
|
||||
+14
-32
@@ -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
|
||||
|
||||
+3
-3
@@ -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"},
|
||||
|
||||
Reference in New Issue
Block a user