-Aggiunta lama non ancora implementata funzionante.

-aggiunti TH da PF
- Modificati nomi magazzino
- Aggiunte Machnotes e Toolnotes
This commit is contained in:
daniele.nicoli
2026-04-03 16:56:37 +02:00
parent 7351e269c9
commit 9585b06976
19 changed files with 159 additions and 52 deletions
+54 -40
View File
@@ -8,7 +8,7 @@ require( 'EmtGenerator')
EgtEnableDebug( false)
if not EmtModifyHeadAuxDirection then error( 'A newer version of the program is required (minimum 2.3j5)') end
PP_VER = '3.1d1_DEV3'
PP_VER = '3.1d1_DEV4'
PP_NVER = '2.7.4.1'
-- Parametri macchina
@@ -25,7 +25,7 @@ MinC1 = -275.0
MaxC1 = 275.0
PosSpecC1 = 34
MillOffs = 170
ChSawLen = 96.0
ChSawLen = 150.0
ParkC1 = 0
ParkB1 = 0
ParkSawC1 = -90
@@ -37,15 +37,17 @@ MaxZ2 = 0.0
SawDeltaX = 33.65
SawDeltaY = 210.0
SawDeltaZ = -133.0
SawC1Offs = 0
SawB1Offs = 0
SawOffs = 115.5
Nail11DeltaX = 318.0 -- Distanza da Mandrino a Graffettatrice H21
Nail11DeltaY = -111.5
Nail11DeltaY = -112.5
Nail11DeltaZ = -421.6497
Nail12DeltaX = 315.8125 -- Distanza da Mandrino a Graffettatrice H22
Nail12DeltaY = 136.1311
Nail12DeltaY = 135.1311
Nail12DeltaZ = -421.6497
Nail13DeltaX = -277.0 -- Distanza da Mandrino a Graffettatrice H23
Nail13DeltaY = -111.5
Nail13DeltaY = -112.5
Nail13DeltaZ = -421.6497
Nail14DeltaX = 0 -- Distanza da Mandrino a Graffettatrice H24 (non esiste su questa macchina)
Nail14DeltaY = 0
@@ -68,9 +70,11 @@ Orig6DeltaZ = 0
DimTabX = 33383.0--31200.0 -- Dimensione tavola
DimTabY = 3500.0
DeltaTabX = -34391.9582---34200.00 -- Distanza da Mandrino a origine principale angolo tavola.
DeltaTabY = 1291.0--1289.00
DeltaTabY = 1290.0--1289.00
DeltaTabZ = -1227.6497
CoeffVM = 0.5
OffsetH12X = 110
OffsetH12Z = 150
-- Aggiornamento con dati da TechnoEssetre7
local sTs3Data = EgtGetStringFromIni( 'Wall', 'DATA_DIR', "C:\\TechnoEssetre7\\EgtData", EgtGetIniFile()).."\\Essetre-90480023_XS-MW.data"
@@ -112,8 +116,8 @@ if EgtExistsFile( sData) then
if MchOffs.ZERO_Y_MILL then DeltaTabX = MchOffs.ZERO_Y_MILL end
if MchOffs.ZERO_X_MILL then DeltaTabY = -MchOffs.ZERO_X_MILL or DeltaTabY end
if MchOffs.ZERO_Z_MILL then DeltaTabZ = MchOffs.ZERO_Z_MILL or DeltaTabZ end
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_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 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
@@ -151,13 +155,13 @@ local SawOffsY = SawDeltaY - 210.0
local SawOffsZ = SawDeltaZ + 133.0
-- Spostamenti delle chiodatrici rispetto al disegno
local Nail11OffsX = Nail11DeltaX - 318.0
local Nail11OffsY = Nail11DeltaY + 111.5
local Nail11OffsY = Nail11DeltaY + 112.5
local Nail11OffsZ = Nail11DeltaZ + 421.6497
local Nail12OffsX = Nail12DeltaX - 315.8125
local Nail12OffsY = Nail12DeltaY - 136.1311
local Nail12OffsY = Nail12DeltaY - 135.1311
local Nail12OffsZ = Nail12DeltaZ + 421.6497
local Nail13OffsX = Nail13DeltaX + 277.0
local Nail13OffsY = Nail13DeltaY + 111.5
local Nail13OffsY = Nail13DeltaY + 112.5
local Nail13OffsZ = Nail13DeltaZ + 421.6497
EmtGeneral {
@@ -172,7 +176,7 @@ local BaseId = EmtBase {
Geo='BASE/GEO',
Aux={'BASE/LOAD', 'BASE/MOD01', 'BASE/MOD02', 'BASE/MOD03', 'BASE/MOD04', 'BASE/MOD05', 'BASE/MOD06', 'BASE/MOD07',
'BASE/MOD08', 'BASE/MOD09', 'BASE/MOD10', 'BASE/MOD11', 'BASE/MOD12', 'BASE/MOD13', 'BASE/MOD14', 'BASE/REF', 'BASE/COLLISION', 'BASE/UNLOAD'}}
local vtMove = Vector3d( DeltaTabX + 34391.9582, DeltaTabY - 1291.0, DeltaTabZ + 1227.6497 )
local vtMove = Vector3d( DeltaTabX + 34391.9582, DeltaTabY - 1290.0, DeltaTabZ + 1227.6497 )
EgtMove( BaseId, vtMove, GDB_RT.GLOB)
-- Tavola
EmtTable {
@@ -226,7 +230,7 @@ EmtAxis {
Token = 'C',
Type = MCH_AT.ROTARY,
Dir = Z_AX(),
Pos = Point3d( 0, 1, 485.5966),
Pos = Point3d( 0, 0, 485.5966),
Stroke = {MinC1, MaxC1},
Home = 0,
Geo = 'C1_AXIS/GEO',
@@ -236,7 +240,7 @@ EmtAxis {
Parent = 'C1',
Token = 'B',
Type = MCH_AT.ROTARY,
Dir = -Y_AX(),
Dir = X_AX(),
Pos = Point3d( 0, 0, MillOffs),--( 0, 52.5966, MillOffs),
Stroke = {MinB1, MaxB1},
Home = 0,
@@ -254,6 +258,18 @@ EmtHead {
Rot1W = 0.1,
OthColl = {'B1/SOLID', 'C1/SOLID'},
Geo = 'H1_HEAD/GEO'}
-- Testa Lama
EmtHead {
Name = 'H12',
Parent = 'B1',
HSet = 'H12',
Type = MCH_HT.STD,
Pos = Point3d( -110, 0, -150),
TDir = Z_AX(),
ADir = X_AX(),
Rot1W = 0.1,
OthColl = {'B1/SOLID', 'C1/SOLID'},
Geo = 'H12_HEAD/GEO'}
-- Sega a catena
EmtAxis {
Name = 'A1',
@@ -265,7 +281,6 @@ EmtAxis {
Stroke = { 0, 270},
Home = 180,
Geo = 'A1_AXIS/GEO'}
-- Carro 2
local X2Id = EmtAxis {
Name = 'X2',
@@ -278,7 +293,7 @@ local X2Id = EmtAxis {
Home = MaxX2,
Geo = 'X2_AXIS/GEO',
Aux = {'X2_AXIS/SOLID'}}
EgtMove( EgtGetFirstNameInGroup( X2Id, 'SOLID'), Vector3d( SawOffsX, SawOffsY, 0), GDB_RT.GLOB)
EgtMove( EgtGetFirstNameInGroup( X2Id, 'SOLID'), Vector3d( Nail11OffsX, Nail11OffsY, 0), GDB_RT.GLOB)
local Z2Id = EmtAxis {
Name = 'Z2',
Parent = 'X2',
@@ -291,7 +306,7 @@ local Z2Id = EmtAxis {
Home = 0,
Geo = 'Z2_AXIS/GEO',
Aux = {'Z2_AXIS/SOLID'}}
EgtMove( EgtGetFirstNameInGroup( Z2Id, 'SOLID'), Vector3d( SawOffsX, SawOffsY, SawOffsZ), GDB_RT.GLOB)
EgtMove( EgtGetFirstNameInGroup( Z2Id, 'SOLID'), Vector3d( Nail11OffsX, Nail11OffsY, Nail11OffsZ), GDB_RT.GLOB)
local H21Id = EmtHead {
Name = 'H21',
@@ -324,56 +339,56 @@ local H23Id = EmtHead {
Aux = {'H23_HEAD/SOLID'}}
EgtMove( EgtGetFirstNameInGroup( H23Id, 'SOLID'), Vector3d( Nail13OffsX, Nail13OffsY, Nail13OffsZ), GDB_RT.GLOB)
-- ToolChanger
local ptTcA = Point3d( -600.1772, 334, -592.1636)
local ptTcA = Point3d( -600.1772, 333, -592.1636)
EmtTcPos {
Name = 'T1',
Parent = 'Y',
Pos = ptTcA,
TDir = Y_AX(),
ADir = -X_AX(),
ADir = X_AX(),
Geo = 'Y_AXIS/TA1'}
EmtTcPos {
Name = 'T2',
Parent = 'Y',
Pos = ptTcA - 102.5 * Z_AX(),
TDir = Y_AX(),
ADir = -X_AX(),
ADir = X_AX(),
Geo = 'Y_AXIS/TA2'}
EmtTcPos {
Name = 'T3',
Parent = 'Y',
Pos = ptTcA - 205 * Z_AX(),
TDir = Y_AX(),
ADir = -X_AX(),
ADir = X_AX(),
Geo = 'Y_AXIS/TA3'}
EmtTcPos {
Name = 'T4',
Parent = 'Y',
Pos = ptTcA - 307.5 * Z_AX(),
TDir = Y_AX(),
ADir = -X_AX(),
ADir = X_AX(),
Geo = 'Y_AXIS/TA4'}
EmtTcPos {
Name = 'T5',
Parent = 'Y',
Pos = ptTcA - 410 * Z_AX(),
TDir = Y_AX(),
ADir = -X_AX(),
ADir = X_AX(),
Geo = 'Y_AXIS/TA5'}
EmtTcPos {
Name = 'T6',
Parent = 'Y',
Pos = ptTcA - 512.5 * Z_AX(),
TDir = Y_AX(),
ADir = -X_AX(),
ADir = X_AX(),
Geo = 'Y_AXIS/TA6'}
EmtTcPos {
Name = 'T7',
Name = 'T8',
Parent = 'Y',
Pos = ptTcA - 717.5 * Z_AX(),
Pos = ptTcA - 717.5 * Z_AX() + Vector3d( -OffsetH12X, -OffsetH12Z, 0),
TDir = Y_AX(),
ADir = -X_AX(),
Geo = 'Y_AXIS/TA7'}
ADir = X_AX(),
Geo = 'Y_AXIS/TA8'}
---------------------------------------------------------------------
-- Funzioni richiamate per modificare i dati macchina in casi particolari
@@ -393,19 +408,8 @@ end
---------------------------------------------------------------------
function OnSetHead()
-- se sega a catena
if EMC.HEAD == 'H3' then
local sVal = EgtGetMachiningParam( MCH_MP.BLOCKEDAXIS)
local CSawPosA = EgtGetVal( sVal, 'A1', 'd') or 180
EmtModifyAxisHome( 'X1', ( MinX1 + MaxX1) / 2)
EmtModifyAxisHome( 'Z1', GetChainSawZHomeFromVirtualAxis( CSawPosA))
EmtModifyAxisStroke( 'C1', { MinC1, MaxC1})
EmtModifyAxisStroke( 'B1', { -0.1, MaxB1})
EmtModifyAxisHome( 'C1', GetChainSawCHomeFromVirtualAxis( CSawPosA))
EmtModifyAxisHome( 'B1', 0)
EmtModifyAxisHome( 'A1', CSawPosA)
-- se lama su testa 5 assi
elseif EMC.HEAD == 'H1' and EMC.TOTDIAM > 600 then
if EMC.HEAD == 'H1' and EMC.TOTDIAM > 600 then
EmtModifyAxisHome( 'Z1', -150)
EmtModifyAxisStroke( 'C1', { -180.1, 0.1})
EmtModifyAxisStroke( 'B1', { -90, 0})
@@ -426,6 +430,16 @@ function OnSetHead()
EmtModifyAxisHome( 'C1', ParkC1)
EmtModifyHeadAuxDirection( 'H1', Y_AX())
end
elseif EMC.HEAD == '12' then
EmtModifyAxisHome( 'X1', ParkX1)
EmtModifyAxisHome( 'Z1', ParkZ1)
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
else
EmtModifyAxisStroke( 'B1', { MinB1, MaxB1})
EmtModifyAxisHome( 'C1', ParkC1)