Aggiunta gestione testa H12, lama su rinvio anche in generazione

This commit is contained in:
andrea.villa
2026-04-07 09:25:40 +02:00
parent 9585b06976
commit 5fe8e8caf0
7 changed files with 24 additions and 29 deletions
+14 -19
View File
@@ -5,7 +5,7 @@
-- Aggiunta controllo collisione con nuovi oggetti
require( 'EmtGenerator')
EgtEnableDebug( false)
EgtEnableDebug( true)
if not EmtModifyHeadAuxDirection then error( 'A newer version of the program is required (minimum 2.3j5)') end
PP_VER = '3.1d1_DEV4'
@@ -34,9 +34,9 @@ MinX2 = 1047.0
MaxX2 = 6080.0
MinZ2 = -770.0
MaxZ2 = 0.0
SawDeltaX = 33.65
SawDeltaY = 210.0
SawDeltaZ = -133.0
SawOffsX = 111.0
SawOffsY = 0
SawOffsZ = -150.25
SawC1Offs = 0
SawB1Offs = 0
SawOffs = 115.5
@@ -119,6 +119,10 @@ if EgtExistsFile( sData) then
if MchOffs.ZERO_Y_MILL and MchOffs.ZERO_Y_SAW then SawDeltaX = ( MchOffs.ZERO_Y_MILL - MchOffs.ZERO_Y_SAW) end
if MchOffs.ZERO_X_MILL and MchOffs.ZERO_X_SAW then SawDeltaY = - ( MchOffs.ZERO_X_MILL - MchOffs.ZERO_X_SAW) end
if MchOffs.ZERO_Z_MILL and MchOffs.ZERO_Z_SAW then SawDeltaZ = ( MchOffs.ZERO_Z_MILL - MchOffs.ZERO_Z_SAW) end
if Machine.SAWOFFSX then SawOffsX = Machine.SAWOFFSX end
if Machine.SAWOFFSZ then SawOffsZ = Machine.SAWOFFSZ end
if Machine.OFFSETCLAMAT1 then SawC1Offs= Machine.OFFSETCLAMAT1 end
if Machine.OFFSETBLAMAT1 then SawB1Offs= Machine.OFFSETBLAMAT1 end
if MchOffs.ZERO_Y_MILL and MchOffs.ZERO_NAIL11_Y then Nail11DeltaX = ( MchOffs.ZERO_Y_MILL - MchOffs.ZERO_NAIL11_Y) end
if MchOffs.ZERO_X_MILL and MchOffs.ZERO_NAIL11_X then Nail11DeltaY = - ( MchOffs.ZERO_X_MILL - MchOffs.ZERO_NAIL11_X) end
if MchOffs.ZERO_Z_MILL and MchOffs.ZERO_NAIL11_Z then Nail11DeltaZ = ( MchOffs.ZERO_Z_MILL - MchOffs.ZERO_NAIL11_Z) end
@@ -149,10 +153,6 @@ if EgtExistsFile( sData) then
end
end
-- Spostamenti della lama rispetto al disegno
local SawOffsX = SawDeltaX - 33.65
local SawOffsY = SawDeltaY - 210.0
local SawOffsZ = SawDeltaZ + 133.0
-- Spostamenti delle chiodatrici rispetto al disegno
local Nail11OffsX = Nail11DeltaX - 318.0
local Nail11OffsY = Nail11DeltaY + 112.5
@@ -262,10 +262,10 @@ EmtHead {
EmtHead {
Name = 'H12',
Parent = 'B1',
HSet = 'H12',
HSet = 'H1',
Type = MCH_HT.STD,
Pos = Point3d( -110, 0, -150),
TDir = Z_AX(),
Pos = Point3d( SawOffsX, SawOffsY, SawOffsZ),
TDir = Vector3d( 0, sin( SawB1Offs), cos( SawB1Offs)),
ADir = X_AX(),
Rot1W = 0.1,
OthColl = {'B1/SOLID', 'C1/SOLID'},
@@ -430,16 +430,11 @@ function OnSetHead()
EmtModifyAxisHome( 'C1', ParkC1)
EmtModifyHeadAuxDirection( 'H1', Y_AX())
end
elseif EMC.HEAD == '12' then
EmtModifyAxisHome( 'X1', ParkX1)
EmtModifyAxisHome( 'Z1', ParkZ1)
elseif EMC.HEAD == 'H12' then
EmtModifyAxisHome( 'Z1', -150)
EmtModifyAxisHome( 'C1', ParkC1)
EmtModifyAxisHome( 'B1', ParkB1)
if EMC.HEAD == 'H12' then
EmtModifyAxisDirection( 'B1', Vector3d( cos( SawC1Offs), -sin( SawC1Offs), 0))
else
EmtModifyAxisDirection( 'B1', X_AX())
end
EmtModifyAxisDirection( 'B1', Vector3d( cos( SawC1Offs), -sin( SawC1Offs), 0))
else
EmtModifyAxisStroke( 'B1', { MinB1, MaxB1})
EmtModifyAxisHome( 'C1', ParkC1)
+7 -7
View File
@@ -352,7 +352,7 @@ function OnRapid()
EmtResetPrev()
local sOut = 'G101' .. EmtGetAxis( 'L1') .. EmtGetAxis( 'L2') .. EmtGetAxis( 'L3') ..
EmtGetAxis( 'R2') .. EmtGetAxis( 'R1')
if EMT.HEAD == 'H1' or EMT.HEAD == 'H3' or ( EMT.HEAD == 'H14' and not EMT.DOUBLE) then
if EMT.HEAD == 'H1' or EMT.HEAD == 'H12' or EMT.HEAD == 'H3' or ( EMT.HEAD == 'H14' and not EMT.DOUBLE) then
sOut = sOut .. ' U' .. EmtLenToString( MinX2, 3) .. ' W0 V0 A0'
elseif EMT.HEAD == 'H14' then
sOut = sOut .. ' U' .. EmtLenToString( EMT.L2 - EMT.DELTA, 3) .. ' W0 V0 A0'
@@ -616,11 +616,11 @@ function MyAdjustLinearAxes()
if EMT.REFLOC then
local vtDelta = V_NULL()
local vtE = V_NULL()
if EMT.HEAD == 'H1' then
local Len = EMT.TLEN + MillOffs
if EMT.HEAD == 'H1' or EMT.HEAD == 'H12' then
local dAddLen = EgtIf( EMT.HEAD == 'H12', -SawOffsZ, 0)
local Len = EMT.TLEN + dAddLen + MillOffs
local LenRef = MillOffs
local vtTool = EgtGetCalcToolDirFromAngles( EMT.R1, EMT.R2, EMT.R3)
vtE = vtTool * Len - Z_AX() * LenRef
vtE = Vector3d( EMT.TDIR) * Len - Z_AX() * LenRef
elseif EMT.HEAD == 'H2' then
vtDelta = -Vector3d( SawDeltaX, SawDeltaY, SawDeltaZ)
elseif EMT.HEAD == 'H3' then
@@ -721,7 +721,7 @@ end
---------------------------------------------------------------------
function GetET()
local sET
if EMT.HEAD == 'H1' or EMT.HEAD == 'H3' then
if EMT.HEAD == 'H1' or EMT.HEAD == 'H12' or EMT.HEAD == 'H3' then
sET = ' ET2'
elseif EMT.HEAD == 'H2' then
sET = ' ET1'
@@ -738,7 +738,7 @@ end
---------------------------------------------------------------------
function GetEU()
local sEU
if EMT.HEAD == 'H1' then
if EMT.HEAD == 'H1' or EMT.HEAD == 'H12' then
sEU = ' EU'..string.sub( EMT.TCPOS, 2)
elseif EMT.HEAD == 'H2' then
sEU = ' EU0'
+2 -2
View File
@@ -228,7 +228,7 @@ function OnSimulToolSelect()
EMT.TOOLTYPE = EgtTdbGetCurrToolParam( MCH_TP.TYPE)
EMT.TOOLTOTLEN = EgtTdbGetCurrToolParam( MCH_TP.TOTLEN)
-- se non lama su rinvio o graffettatrici, carico utensile
if EMT.HEAD == 'H1' or EMT.HEAD == 'H3' then
if EMT.HEAD == 'H1' or EMT.HEAD == 'H12' or EMT.HEAD == 'H3' then
-- se sega a catena, imposto subito angolo scelto per asse virtuale A
if EMT.HEAD == 'H3' then
-- recupero la lavorazione successiva
@@ -307,7 +307,7 @@ function OnSimulToolDeselect()
EMT.TCPOS_1 = nil
end
-- deposito utensile se non lama su rinvio o graffettatrici
if ( EMT.NEXTHEAD == 'H1' or EMT.NEXTHEAD == 'H3') and ( EMT.HEAD == 'H1' or EMT.HEAD == 'H3') then
if ( EMT.NEXTHEAD == 'H1' or EMT.NEXTHEAD == 'H12' or EMT.NEXTHEAD == 'H3') and ( EMT.HEAD == 'H1' or EMT.HEAD == 'H12' or EMT.HEAD == 'H3') then
if EMT.NEXTTOOL ~= EMT.TOOL_1 then
EgtOutText( 'Tool change in progress...')
-- simulo movimento
+1 -1
View File
@@ -48,7 +48,7 @@ function OnSpecialMoveZup()
EMC.TDIR = EgtGetCalcToolDirFromAngles( EMC.R1, EMC.R2, EMC.R3)
end
-- se altre teste
elseif EMC.HEAD == 'H14' or EMC.HEAD == 'H2' or EMC.HEAD == 'H21' or EMC.HEAD == 'H22' or EMC.HEAD == 'H23' then
elseif EMC.HEAD == 'H14' or EMC.HEAD == 'H12' or EMC.HEAD == 'H21' or EMC.HEAD == 'H22' or EMC.HEAD == 'H23' then
-- non è necessaria una gestione speciale
-- altrimenti errore
else
Binary file not shown.
Binary file not shown.
Binary file not shown.