Prima versione funzionante gestione aggregato foratore multiplo
This commit is contained in:
@@ -128,6 +128,8 @@ function OnToolData()
|
||||
dAddLen = -SawOffsZ
|
||||
elseif EMT.HEAD == 'H16' then
|
||||
dAddLen = -Saw2OffsZ
|
||||
elseif EMT.HEAD == 'H14' then
|
||||
dAddLen = 206 -- dimensione aggregato
|
||||
end
|
||||
local sOut = 'M992 P1=' .. EMT.TCPOS:gsub( 'T', '') .. ' P2=' .. EmtLenToString( dAddLen + EMT.TLEN, 3) .. ' P3=' .. EmtLenToString( EMT.TDIAM, 3) ..
|
||||
' P4=' .. EmtLenToString( EMT.SMAX, 3) .. ' P5=' .. EmtLenToString( dAddLen + EMT.TTOTLEN, 3)
|
||||
@@ -406,6 +408,13 @@ function OnMachiningStart()
|
||||
-- imposto home dell'asse C1 (A=0 -> T101, A=90 -> T104)
|
||||
local MyParkCSawC1 = GetChainSawCHomeFromVirtualAxis( dPosA, EMT.TTOTLEN)
|
||||
EmtModifyAxisHome( 'C1', MyParkCSawC1)
|
||||
-- aggregato foratura multipla, aggiusto subito angolo scelto per asse virtuale A
|
||||
elseif EMT.HEAD == 'H14' then
|
||||
-- valore dell'asse virtuale
|
||||
dPosA = GetCurrMultiDrillVirtualAxis()
|
||||
-- imposto home dell'asse C1 (A=0 -> T121, A=90 -> T124)
|
||||
local MyParkMultiDrillC1 = GetMultiDrillCHomeFromVirtualAxis( dPosA, EMT.TTOTLEN)
|
||||
EmtModifyAxisHome( 'C1', MyParkMultiDrillC1)
|
||||
-- se lama su aggregato testa sotto, aggiusto subito angolo scelto per asse virtuale A
|
||||
elseif EMT.HEAD == 'H22' then
|
||||
-- valore dell'asse virtuale
|
||||
@@ -757,6 +766,9 @@ function OnRapid()
|
||||
-- se sega a catena
|
||||
if EMT.HEAD == 'H13' then
|
||||
EmitMoveDataHead( 1, { X=-ParkCSawX1, Z=HomeZ1, B=HomeR2, C=HomeR1, TRad=dTRad, TLen=dTLen, S=Speed})
|
||||
-- aggregato foratore multiplo
|
||||
elseif EMT.HEAD == 'H14' then
|
||||
EmitMoveDataHead( 1, { X=-ParkMultiDrillX1, Z=HomeZ1, B=HomeR2, C=HomeR1, TRad=dTRad, TLen=dTLen, S=Speed})
|
||||
-- utensili standard
|
||||
else
|
||||
-- utensili lunghi
|
||||
@@ -2311,6 +2323,20 @@ function AdjustTcPos( bLen3, sTcPos, dAxR3)
|
||||
EmtSetLastError( 1210, 'Chain saw orientation not allowed')
|
||||
end
|
||||
end
|
||||
if sPos == '121' then
|
||||
if not dAxR3 then dAxR3 = EMT.R3 end
|
||||
if abs( dAxR3 - 0) < 0.1 then
|
||||
sPos = '121'
|
||||
elseif abs( dAxR3 - 270) < 0.1 then
|
||||
sPos = '122'
|
||||
elseif abs( dAxR3 - 180) < 0.1 then
|
||||
sPos = '123'
|
||||
elseif abs( dAxR3 - 90) < 0.1 then
|
||||
sPos = '124'
|
||||
else
|
||||
EmtSetLastError( 1210, 'MultiDrill orientation not allowed')
|
||||
end
|
||||
end
|
||||
if sPos == '201' then
|
||||
if not dAxR3 then dAxR3 = EMT.R3 end
|
||||
if abs( dAxR3 - 0) < 0.1 then
|
||||
|
||||
@@ -463,6 +463,8 @@ function OnSimulToolSelect( dPosA)
|
||||
end
|
||||
if EMT.HEAD == 'H12' or EMT.HEAD == 'H16' then
|
||||
EgtSetAxisPos( 'Z1', MaxZ1Blade)
|
||||
else
|
||||
EgtSetAxisPos( 'Z1', MaxZ1)
|
||||
end
|
||||
EgtResetAxisPos( 'C1')
|
||||
EgtResetAxisPos( 'B1')
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
require( 'EmtGenerator')
|
||||
EgtEnableDebug( false)
|
||||
|
||||
PP_VER = '2.6k2_DEV2'
|
||||
PP_VER = '2.6k2_DEV3'
|
||||
PP_NVER = '2.6.11.2'
|
||||
MIN_MACH_VER = '2.5k1'
|
||||
MACH_NAME = 'Essetre-PF1500MAXrl-3T'
|
||||
@@ -87,7 +87,7 @@ MinB1b = -119
|
||||
MaxB1b = 119
|
||||
ParkX1 = 4850
|
||||
ParkTc2X1 = 4850
|
||||
ParkTc1X1 = 650
|
||||
ParkTc1X1 = 800
|
||||
ParkZ1 = -525
|
||||
ParkC1 = -90
|
||||
ParkB1 = -90
|
||||
@@ -110,7 +110,7 @@ MaxLongTc2C1 = -89
|
||||
ParkLongTc2C1 = -180
|
||||
ParkLongB1 = 0
|
||||
MinZ1ToChangeH2 = -1400
|
||||
ParkMultiDrillX1 = ParkCSawX1 -- posizione parcheggio asse X per aggregato forature multiplo
|
||||
ParkMultiDrillX1 = 1800 -- posizione parcheggio asse X per aggregato forature multiplo
|
||||
ParkMultiDrillC1 = 0 -- posizione parcheggio asse C per aggregato forature multiplo
|
||||
ParkMultiDrill0C1 = -90 -- posizione parcheggio asse C per aggregato forature multiplo
|
||||
ParkMultiDrillB1 = 0 -- posizione parcheggio asse B per aggregato forature multiplo
|
||||
@@ -291,7 +291,6 @@ if EgtExistsFile( sDataBeam) then
|
||||
ParkV2 = MinV2
|
||||
ParkY2 = ParkV2 - MinDeltaYV
|
||||
UnloadSmT = UnloadT - 300
|
||||
MaxZ1Blade = min( MaxZ1Blade, -100)
|
||||
ParkX1 = EgtClamp( ParkX1, MinX1, MaxX1)
|
||||
ParkTc1X1 = EgtClamp( ParkTc1X1, MinX1, MaxX1)
|
||||
ParkZ1 = EgtClamp( ParkZ1, MinZ1, MaxZ1)
|
||||
@@ -766,7 +765,7 @@ EmtTable {
|
||||
Geo = 'TABLE/GEO',
|
||||
Aux = 'TABLE/SOLID'}
|
||||
-- *** ToolChanger ***
|
||||
local ptTc1 = Point3d( 150, 501, -221 + ( DeltaTabZ - DeltaRulliTraveZ + 55))
|
||||
local ptTc1 = Point3d( 150, 501, -221)
|
||||
local vtDt1 = Vector3d( 0, 0, - 102.5)
|
||||
EmtTcPos {
|
||||
Name = 'T1',
|
||||
@@ -861,7 +860,7 @@ EmtTcPos {
|
||||
Geo = 'BASE/T13'}
|
||||
|
||||
if Tc2Active then
|
||||
local ptTc2 = Point3d( 150, 5168.75, -221 + ( DeltaTabZ - DeltaRulliTraveZ + 55))
|
||||
local ptTc2 = Point3d( 150, 5168.75, -221)
|
||||
local vtDt2 = Vector3d( 0, 0, - 102.5)
|
||||
EmtTcPos {
|
||||
Name = 'T21',
|
||||
@@ -934,7 +933,7 @@ if Tc2Active then
|
||||
ADir = X_AX(),
|
||||
Geo = 'BASE/T30'}
|
||||
end
|
||||
local ptTc3 = Point3d( 600, 1181, -200.8 + ( DeltaTabZ - DeltaRulliTraveZ + 55))
|
||||
local ptTc3 = Point3d( 600, 1181, -150.8)
|
||||
EmtTcPos {
|
||||
Name = 'T101',
|
||||
Parent = 'Base',
|
||||
@@ -942,7 +941,7 @@ EmtTcPos {
|
||||
TDir = -X_AX(),
|
||||
ADir = Z_AX(),
|
||||
Geo = 'BASE/T101'}
|
||||
local ptTc4 = Point3d( 750, 1561, -200.8 + ( DeltaTabZ - DeltaRulliTraveZ + 55))
|
||||
local ptTc4 = Point3d( 750, 1561, -150.8)
|
||||
EmtTcPos {
|
||||
Name = 'T111',
|
||||
Parent = 'Base',
|
||||
@@ -950,7 +949,7 @@ EmtTcPos {
|
||||
TDir = -X_AX(),
|
||||
ADir = Z_AX(),
|
||||
Geo = 'BASE/T111'}
|
||||
local ptTc5 = Point3d( 750, 1961, -321 + ( DeltaTabZ - DeltaRulliTraveZ + 55))
|
||||
local ptTc5 = Point3d( 750, 1961, -321)
|
||||
EmtTcPos {
|
||||
Name = 'T121',
|
||||
Parent = 'Base',
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user