455 lines
16 KiB
Plaintext
455 lines
16 KiB
Plaintext
-- Descrizione macchina Essetre-WallXS0018 by EgalTech s.r.l. 2024/09/23
|
|
-- Macchina Wall.
|
|
-- 2023/07/05 ver 2.5g1 DS Prima versione partende da WallXS0014.
|
|
-- 2023/07/10 ver 2.5g2 DS Corretto aggiornamento Orig2 da dati TS3.
|
|
-- 2023/09/07 ver 2.5i1 DS Gestione posizione ruotata per lama (T9 e T10).
|
|
-- 2023/09/08 ver 2.5i2 DS Piccola modifica per usare direttamente le note utente dell'utensile se passate.
|
|
-- 2023/09/11 ver 2.5i3 DS Modificato solido collisione per asse C per renderlo più vicino al reale.
|
|
-- 2024/01/29 ver 2.6a1 In generazione dopo ogni G24 aggiunta scrittura M24 con gli stessi parametri.
|
|
-- 2024/08/30 ver 2.6h1 Gestione sottopezzo per parete layer. Serve Wall 2.6i1. Se Wall antecedente, funziona alla vecchia, con pezzo e sottopezzo unico oggetto.
|
|
-- Configurazione macchina in GIT
|
|
-- 2024/09/03 ver 2.6i1 Corretta macro M104 con sintassi TPA
|
|
-- 2024/09/24 ver 2.6i2 Corretta emissione quota parcheggio in M104
|
|
-- 2024/09/30 ver 2.6i3 Per VMILL, se area ricavata da Outline, si controlla se è molto simile ad area VMILL per considerare pezzo corretto
|
|
|
|
require( 'EmtGenerator')
|
|
EgtEnableDebug( false)
|
|
|
|
PP_VER = '2.6k1'
|
|
PP_NVER = '2.6.11.1'
|
|
|
|
-- Parametri macchina
|
|
NumericalControl = 'TPA' -- NUM o TPA
|
|
MinY = 0.0
|
|
MaxY = 31000.0
|
|
ParkY = 16500.0
|
|
MinX = -5400.0
|
|
MaxX = 45.0
|
|
MinZ = -900.0
|
|
MaxZ = 0.0
|
|
MinB = -120.0
|
|
MaxB = 120.0
|
|
MinC = -360.0
|
|
MaxC = 360.0
|
|
MillOffs = 92.5
|
|
ChainSaw = 0
|
|
SawOffsX = 0.0
|
|
SawOffsY = 111.0
|
|
SawOffsZ = -150.0
|
|
ChSawLen = 90.0
|
|
Nail11 = 1
|
|
Nail11DeltaX = 330.0
|
|
Nail11DeltaY = 272.6
|
|
Nail11DeltaZ = -76.5
|
|
Nail12 = 1
|
|
Nail12DeltaX = 330.0
|
|
Nail12DeltaY = -272.6
|
|
Nail12DeltaZ = -76.5
|
|
Orig2DeltaX = 0
|
|
Orig2DeltaY = -3500
|
|
Orig2DeltaZ = 0
|
|
Orig3DeltaX = 12160
|
|
Orig3DeltaY = 0
|
|
Orig3DeltaZ = 0
|
|
Orig4DeltaX = 12160
|
|
Orig4DeltaY = -3500
|
|
Orig4DeltaZ = 0
|
|
Orig5DeltaX = 17620
|
|
Orig5DeltaY = 0
|
|
Orig5DeltaZ = 0
|
|
Orig6DeltaX = 17620
|
|
Orig6DeltaY = -3500
|
|
Orig6DeltaZ = 0
|
|
Orig7DeltaX = 28940
|
|
Orig7DeltaY = 0
|
|
Orig7DeltaZ = 0
|
|
Orig8DeltaX = 28940
|
|
Orig8DeltaY = -3500
|
|
Orig8DeltaZ = 0
|
|
DimTabX = 28940.0
|
|
DimTabY = 3500.0
|
|
DeltaTabX = 1040.0
|
|
DeltaTabY = -4580.0
|
|
DeltaTabZ = -705.0 + MillOffs -- -612.5
|
|
CoeffVM = 1.5
|
|
|
|
-- Aggiornamento con dati da TechnoEssetre7
|
|
local sTs3Data = EgtGetStringFromIni( 'Wall', 'DATA_DIR', "C:\\TechnoEssetre7\\EgtData", EgtGetIniFile()).."\\Essetre-Wall_XS0018.data"
|
|
local sData = EgtGetCurrMachineDir().."\\Wall\\Ts3Data.lua"
|
|
if EgtExistsFile( sTs3Data) then
|
|
EgtCopyFile( sTs3Data, sData)
|
|
local sTs3DataOld = sTs3Data..'.old'
|
|
EgtEraseFile( sTs3DataOld)
|
|
EgtRenameFile( sTs3Data, sTs3DataOld)
|
|
end
|
|
|
|
if EgtExistsFile( sData) then
|
|
local Machine = dofile( sData)
|
|
if Machine and Machine.Offsets then
|
|
local MchOffs = Machine.Offsets
|
|
NumericalControl = EgtIf( MchOffs.TIPO_CN ~= 1, 'NUM', 'TPA')
|
|
if MchOffs.MAX_Y then MinY = -MchOffs.MAX_Y end
|
|
if MchOffs.MIN_Y then MaxY = -MchOffs.MIN_Y end
|
|
if MchOffs.PARK_Y then ParkY = EgtClamp( -MchOffs.PARK_Y, MinY, MaxY) end
|
|
MinX = MchOffs.MIN_X or MinX
|
|
MaxX = MchOffs.MAX_X or MaxX
|
|
MinZ = MchOffs.MIN_Z or MinZ
|
|
MaxZ = MchOffs.MAX_Z or MaxZ
|
|
MinB = MchOffs.MIN_B or MinB
|
|
MaxB = MchOffs.MAX_B or MaxB
|
|
MinC = MchOffs.MIN_C or MinC
|
|
MaxC = MchOffs.MAX_C or MaxC
|
|
MillOffs = MchOffs.PIVOT or MillOffs
|
|
if MchOffs.ZERO_Y then DeltaTabX = -MchOffs.ZERO_Y end
|
|
if MchOffs.ZERO_X then DeltaTabY = MchOffs.ZERO_X - DimTabY end
|
|
if MchOffs.ZERO_Z then DeltaTabZ = MchOffs.ZERO_Z + MillOffs end
|
|
ChainSaw = ( MchOffs.CHAIN_SAW or 0)
|
|
Nail11 = ( MchOffs.NAIL11 or 0)
|
|
if Nail11 ~= 0 and MchOffs.ZERO_Y and MchOffs.ZERO_NAIL11_Y then Nail11DeltaX = - ( MchOffs.ZERO_Y - MchOffs.ZERO_NAIL11_Y) end
|
|
if Nail11 ~= 0 and MchOffs.ZERO_X and MchOffs.ZERO_NAIL11_X then Nail11DeltaY = ( MchOffs.ZERO_X - MchOffs.ZERO_NAIL11_X) end
|
|
if Nail11 ~= 0 and MchOffs.ZERO_Z and MchOffs.ZERO_NAIL11_Z then Nail11DeltaZ = ( MchOffs.ZERO_Z + MillOffs - MchOffs.ZERO_NAIL11_Z) end
|
|
Nail12 = ( MchOffs.NAIL12 or 0)
|
|
if Nail12 ~= 0 and MchOffs.ZERO_Y and MchOffs.ZERO_NAIL12_Y then Nail12DeltaX = - ( MchOffs.ZERO_Y - MchOffs.ZERO_NAIL12_Y) end
|
|
if Nail12 ~= 0 and MchOffs.ZERO_X and MchOffs.ZERO_NAIL12_X then Nail12DeltaY = ( MchOffs.ZERO_X - MchOffs.ZERO_NAIL12_X) end
|
|
if Nail12 ~= 0 and MchOffs.ZERO_Z and MchOffs.ZERO_NAIL12_Z then Nail12DeltaZ = ( MchOffs.ZERO_Z + MillOffs - MchOffs.ZERO_NAIL12_Z) end
|
|
if MchOffs.OFFSET_ZERO2_Y then Orig2DeltaX = -MchOffs.OFFSET_ZERO2_Y end
|
|
if MchOffs.OFFSET_ZERO2_X then Orig2DeltaY = MchOffs.OFFSET_ZERO2_X end
|
|
if MchOffs.OFFSET_ZERO2_Z then Orig2DeltaZ = MchOffs.OFFSET_ZERO2_Z end
|
|
if MchOffs.OFFSET_ZERO3_Y then Orig3DeltaX = -MchOffs.OFFSET_ZERO3_Y end
|
|
if MchOffs.OFFSET_ZERO3_X then Orig3DeltaY = MchOffs.OFFSET_ZERO3_X end
|
|
if MchOffs.OFFSET_ZERO3_Z then Orig3DeltaZ = MchOffs.OFFSET_ZERO3_Z end
|
|
if MchOffs.OFFSET_ZERO4_Y then Orig4DeltaX = -MchOffs.OFFSET_ZERO4_Y end
|
|
if MchOffs.OFFSET_ZERO4_X then Orig4DeltaY = MchOffs.OFFSET_ZERO4_X end
|
|
if MchOffs.OFFSET_ZERO4_Z then Orig4DeltaZ = MchOffs.OFFSET_ZERO4_Z end
|
|
if MchOffs.OFFSET_ZERO11_Y then Orig5DeltaX = -MchOffs.OFFSET_ZERO11_Y end
|
|
if MchOffs.OFFSET_ZERO11_X then Orig5DeltaY = MchOffs.OFFSET_ZERO11_X end
|
|
if MchOffs.OFFSET_ZERO11_Z then Orig5DeltaZ = MchOffs.OFFSET_ZERO11_Z end
|
|
if MchOffs.OFFSET_ZERO12_Y then Orig6DeltaX = -MchOffs.OFFSET_ZERO12_Y end
|
|
if MchOffs.OFFSET_ZERO12_X then Orig6DeltaY = MchOffs.OFFSET_ZERO12_X end
|
|
if MchOffs.OFFSET_ZERO12_Z then Orig6DeltaZ = MchOffs.OFFSET_ZERO12_Z end
|
|
if MchOffs.OFFSET_ZERO13_Y then Orig7DeltaX = -MchOffs.OFFSET_ZERO13_Y end
|
|
if MchOffs.OFFSET_ZERO13_X then Orig7DeltaY = MchOffs.OFFSET_ZERO13_X end
|
|
if MchOffs.OFFSET_ZERO13_Z then Orig7DeltaZ = MchOffs.OFFSET_ZERO13_Z end
|
|
if MchOffs.OFFSET_ZERO14_Y then Orig8DeltaX = -MchOffs.OFFSET_ZERO14_Y end
|
|
if MchOffs.OFFSET_ZERO14_X then Orig8DeltaY = MchOffs.OFFSET_ZERO14_X end
|
|
if MchOffs.OFFSET_ZERO14_Z then Orig8DeltaZ = MchOffs.OFFSET_ZERO14_Z end
|
|
DimTabX = Orig7DeltaX
|
|
end
|
|
end
|
|
|
|
-- Spostamenti delle chiodatrici rispetto al disegno
|
|
local Nail11OffsX = Nail11DeltaX - 330.0
|
|
local Nail11OffsY = Nail11DeltaY - 272.6
|
|
local Nail11OffsZ = Nail11DeltaZ + 76.5
|
|
local Nail12OffsX = Nail12DeltaX - 330.0
|
|
local Nail12OffsY = Nail12DeltaY + 272.6
|
|
local Nail12OffsZ = Nail12DeltaZ + 76.5
|
|
|
|
EmtGeneral {
|
|
File='Essetre-WALL_XS0018.nge',
|
|
Offset = Vector3d( 5420.0, -2830.0, -1408.5),
|
|
AxisMaxAdjust = 3250,
|
|
ExitMaxAdjust = 3250,
|
|
Special = 'Essetre-WALL_XS.mlse',
|
|
Processor = 'Essetre-WALL_XS.mlpe'}
|
|
local BaseId = EmtBase {
|
|
Name = 'Base',
|
|
Geo='BASE/GEO',
|
|
Aux={'BASE/TAB_PRE', 'BASE/TAB_1', 'BASE/TAB_MID', 'BASE/TAB_2', 'BASE/COLLISION'}}
|
|
local vtMove = Vector3d( DeltaTabX - 1040.0, DeltaTabY + 4580.0, DeltaTabZ + 612.5)
|
|
EgtMove( BaseId, vtMove, GDB_RT.GLOB)
|
|
-- Tavola
|
|
local TabId = EmtTable {
|
|
Name = 'Tab',
|
|
Parent = 'Base',
|
|
Type = MCH_TT.FLAT,
|
|
Ref1 = Point3d( DeltaTabX, DeltaTabY, DeltaTabZ),
|
|
Scale = {DimTabX/28940, DimTabY/3500, 1},
|
|
Geo = 'TABLE/GEO'}
|
|
-- sposto le linee alla giusta quota
|
|
EgtMove( EgtGetFirstNameInGroup( TabId, 'Mid'), Vector3d( Orig3DeltaX, 0, 0), GDB_RT.GLOB)
|
|
EgtMove( EgtGetFirstNameInGroup( TabId, 'New'), Vector3d( Orig5DeltaX, 0, 0), GDB_RT.GLOB)
|
|
-- sposto e scalo le tavole
|
|
EgtScale( EgtGetFirstNameInGroup( BaseId, 'TAB_1'), Frame3d( Point3d( DeltaTabX, 0, 0)), ( Orig3DeltaX - 0) / ( 12160 - 0), 1, 1, GDB_RT.GLOB)
|
|
EgtMove( EgtGetFirstNameInGroup( BaseId, 'TAB_MID'), Vector3d( Orig3DeltaX - 12160, 0, 0), GDB_RT.GLOB)
|
|
EgtMove( EgtGetFirstNameInGroup( BaseId, 'TAB_2'), Vector3d( Orig5DeltaX - 17620, 0, 0), GDB_RT.GLOB)
|
|
EgtScale( EgtGetFirstNameInGroup( BaseId, 'TAB_2'), Frame3d( Point3d( DeltaTabX + Orig5DeltaX, 0, 0)), ( Orig7DeltaX - Orig5DeltaX) / ( 28940 - 17620), 1, 1, GDB_RT.GLOB)
|
|
-- Traversa
|
|
local YId = EmtAxis {
|
|
Name = 'Y',
|
|
Parent = 'Base',
|
|
Invert = true,
|
|
Type = MCH_AT.LINEAR,
|
|
Dir = X_AX(),
|
|
Pos = Point3d( 0, 0, 0),
|
|
Stroke = {MinY, MaxY},
|
|
Home = ParkY,
|
|
Geo = 'Y_AXIS/GEO',
|
|
Aux = {'Y_AXIS/SOLID'}}
|
|
-- Testa cambia utensili
|
|
EmtAxis {
|
|
Name = 'X',
|
|
Parent = 'Y',
|
|
Token = 'X',
|
|
Type = MCH_AT.LINEAR,
|
|
Dir = Y_AX(),
|
|
Pos = Point3d( 0, 0, 0),
|
|
Stroke = {MinX, MaxX},
|
|
Home = ( MinX + MaxX) / 2,
|
|
Geo = 'X_AXIS/GEO',
|
|
Aux = {'X_AXIS/SOLID'}}
|
|
EmtAxis {
|
|
Name = 'Z',
|
|
Parent = 'X',
|
|
Token = 'Z',
|
|
Type = MCH_AT.LINEAR,
|
|
Dir = Z_AX(),
|
|
Pos = Point3d( 0, 0, 0),
|
|
Stroke = {MinZ, MaxZ},
|
|
Home = 0,
|
|
Geo = 'Z_AXIS/GEO',
|
|
Aux = {'Z_AXIS/SOLID'}}
|
|
-- Chiodatrici
|
|
local H11Id, H12Id
|
|
if Nail11 ~= 0 then
|
|
H11Id = EmtHead {
|
|
Name = 'H11',
|
|
Parent = 'Z',
|
|
HSet = 'H11',
|
|
Type = MCH_HT.STD,
|
|
Pos = Point3d( Nail11DeltaX, Nail11DeltaY, Nail11DeltaZ),
|
|
TDir = Z_AX(),
|
|
Geo = 'H11_HEAD/GEO',
|
|
Aux = {'H11_HEAD/SOLID'}}
|
|
EgtMove( EgtGetFirstNameInGroup( H11Id, 'SOLID'), Vector3d( Nail11OffsX, Nail11OffsY, Nail11OffsZ), GDB_RT.GLOB)
|
|
end
|
|
if Nail12 ~= 0 then
|
|
H12Id = EmtHead {
|
|
Name = 'H12',
|
|
Parent = 'Z',
|
|
HSet = 'H12',
|
|
Type = MCH_HT.STD,
|
|
Pos = Point3d( Nail12DeltaX, Nail12DeltaY, Nail12DeltaZ),
|
|
TDir = Z_AX(),
|
|
Geo = 'H12_HEAD/GEO',
|
|
Aux = {'H12_HEAD/SOLID'}}
|
|
EgtMove( EgtGetFirstNameInGroup( H12Id, 'SOLID'), Vector3d( Nail12OffsX, Nail12OffsY, Nail12OffsZ), GDB_RT.GLOB)
|
|
end
|
|
-- Assi rotanti
|
|
EmtAxis {
|
|
Name = 'C',
|
|
Parent = 'Z',
|
|
Token = 'C',
|
|
Type = MCH_AT.ROTARY,
|
|
Dir = Z_AX(),
|
|
Pos = Point3d( 0, 0, 0),
|
|
Stroke = {MinC, MaxC},
|
|
Home = 0,
|
|
Geo = 'C_AXIS/GEO',
|
|
Aux = {'C_AXIS/SOLID', 'C_AXIS/COLLISION'}}
|
|
EmtAxis {
|
|
Name = 'B',
|
|
Parent = 'C',
|
|
Token = 'B',
|
|
Type = MCH_AT.ROTARY,
|
|
Dir = -X_AX(),
|
|
Pos = Point3d( 0, 0, MillOffs),
|
|
Stroke = {MinB, MaxB},
|
|
Home = 0,
|
|
Geo = 'B_AXIS/GEO',
|
|
Aux = {'B_AXIS/SOLID', 'B_AXIS/COLLISION'}}
|
|
-- Testa principale
|
|
EmtHead {
|
|
Name = 'H1',
|
|
Parent = 'B',
|
|
HSet = 'H1',
|
|
Type = MCH_HT.STD,
|
|
Pos = Point3d( 0, 0, 0),
|
|
TDir = Z_AX(),
|
|
ADir = Y_AX(),
|
|
Rot1W = 0.1,
|
|
OthColl = {'B/SOLID', 'C/SOLID'},
|
|
Geo = 'H1_HEAD/GEO'}
|
|
-- Lama su aggregato
|
|
EmtAxis {
|
|
Name = 'A2',
|
|
Parent = 'B',
|
|
Token = '**',
|
|
Type = MCH_AT.ROTARY,
|
|
Dir = Z_AX(),
|
|
Pos = Point3d( 0, 0, 0),
|
|
Stroke = { -90, 0},
|
|
Home = 0,
|
|
Geo = 'A2_AXIS/GEO'}
|
|
local H2Id = EmtHead {
|
|
Name = 'H2',
|
|
Parent = 'A2',
|
|
HSet = 'H1',
|
|
Type = MCH_HT.STD,
|
|
Pos = Point3d( SawOffsX, SawOffsY, SawOffsZ),
|
|
TDir = Z_AX(),
|
|
ADir = -Y_AX(),
|
|
Rot1W = 0.1,
|
|
OthColl = {'B/SOLID', 'C/SOLID'},
|
|
Geo = 'H2_HEAD/GEO'}
|
|
EgtSetInfo( H2Id, 'Gearbox', 1)
|
|
-- ToolChanger
|
|
local ptTcC = Point3d( -288, 5, -533.5)
|
|
local ptTc9 = Point3d( 0, -5630, -303.5)
|
|
EmtTcPos {
|
|
Name = 'T1',
|
|
Parent = 'Y',
|
|
Pos = ptTcC + VectorFromPolar( 288, 0),
|
|
TDir = Z_AX(),
|
|
ADir = -Y_AX(),
|
|
Geo = 'Y_AXIS/T1'}
|
|
EmtTcPos {
|
|
Name = 'T2',
|
|
Parent = 'Y',
|
|
Pos = ptTcC + VectorFromPolar( 288, 45),
|
|
TDir = Z_AX(),
|
|
ADir = X_AX(),
|
|
Geo = 'Y_AXIS/T2'}
|
|
EmtTcPos {
|
|
Name = 'T3',
|
|
Parent = 'Y',
|
|
Pos = ptTcC + VectorFromPolar( 288, 90),
|
|
TDir = Z_AX(),
|
|
ADir = X_AX(),
|
|
Geo = 'Y_AXIS/T3'}
|
|
EmtTcPos {
|
|
Name = 'T4',
|
|
Parent = 'Y',
|
|
Pos = ptTcC + VectorFromPolar( 288, 135),
|
|
TDir = Z_AX(),
|
|
ADir = X_AX(),
|
|
Geo = 'Y_AXIS/T4'}
|
|
EmtTcPos {
|
|
Name = 'T5',
|
|
Parent = 'Y',
|
|
Pos = ptTcC + VectorFromPolar( 288, 180),
|
|
TDir = Z_AX(),
|
|
ADir = X_AX(),
|
|
Geo = 'Y_AXIS/T5'}
|
|
EmtTcPos {
|
|
Name = 'T6',
|
|
Parent = 'Y',
|
|
Pos = ptTcC + VectorFromPolar( 288, 225),
|
|
TDir = Z_AX(),
|
|
ADir = X_AX(),
|
|
Geo = 'Y_AXIS/T6'}
|
|
EmtTcPos {
|
|
Name = 'T7',
|
|
Parent = 'Y',
|
|
Pos = ptTcC + VectorFromPolar( 288, 270),
|
|
TDir = Z_AX(),
|
|
ADir = X_AX(),
|
|
Geo = 'Y_AXIS/T7'}
|
|
EmtTcPos {
|
|
Name = 'T8',
|
|
Parent = 'Y',
|
|
Pos = ptTcC + VectorFromPolar( 288, 315),
|
|
TDir = Z_AX(),
|
|
ADir = X_AX(),
|
|
Geo = 'Y_AXIS/T8'}
|
|
EmtTcPos {
|
|
Name = 'T9',
|
|
Parent = 'Y',
|
|
Pos = ptTc9 + Vector3d( SawOffsX, -SawOffsY, SawOffsZ),
|
|
TDir = Z_AX(),
|
|
ADir = Y_AX(),
|
|
Geo = 'Y_AXIS/T9'}
|
|
|
|
---------------------------------------------------------------------
|
|
-- Funzioni richiamate per modificare i dati macchina in casi particolari
|
|
--function OnSetTable()
|
|
--end
|
|
|
|
---------------------------------------------------------------------
|
|
local function MoveGroup( nGrpId, vtVers, dPos, bLoc)
|
|
local dVal = EgtGetInfo( nGrpId or GDB_ID.NULL, 'Val')
|
|
if not dVal then return end
|
|
if abs( dPos - dVal) > GEO.EPS_SMALL then
|
|
local nRT = EgtIf( bLoc, GDB_RT.LOC, GDB_RT.GLOB)
|
|
EgtMove( nGrpId, ( dPos - dVal) * vtVers, nRT)
|
|
EgtSetInfo( nGrpId, 'Val', dPos)
|
|
end
|
|
end
|
|
|
|
---------------------------------------------------------------------
|
|
function OnSetHead()
|
|
if H11Id then
|
|
local dPos = EgtIf( EMC.HEAD == 'H11', 0, 650)
|
|
MoveGroup( EgtGetFirstNameInGroup( H11Id, 'SOLID'), Z_AX(), dPos, true)
|
|
MoveGroup( EgtGetFirstNameInGroup( H11Id, 'T1'), Z_AX(), dPos, true)
|
|
end
|
|
if H12Id then
|
|
local dPos = EgtIf( EMC.HEAD == 'H12', 0, 650)
|
|
MoveGroup( EgtGetFirstNameInGroup( H12Id, 'SOLID'), Z_AX(), dPos, true)
|
|
MoveGroup( EgtGetFirstNameInGroup( H12Id, 'T1'), Z_AX(), dPos, true)
|
|
end
|
|
if EMC.HEAD == 'H11' or EMC.HEAD == 'H12' then
|
|
EmtModifyAxisHome( 'B', 90)
|
|
EgtResetAxisPos( 'B')
|
|
else
|
|
if EMC.HEAD == 'H2' then
|
|
if not EMC.USERNOTES then
|
|
local sCurrTool = EgtTdbGetCurrToolParam( MCH_TP.NAME)
|
|
if sCurrTool ~= EMC.TOOL then
|
|
EgtTdbSetCurrTool( EMC.TOOL)
|
|
EMC.USERNOTES = EgtTdbGetCurrToolParam( MCH_TP.USERNOTES)
|
|
EgtTdbSetCurrTool( sCurrTool)
|
|
else
|
|
EMC.USERNOTES = EgtTdbGetCurrToolParam( MCH_TP.USERNOTES)
|
|
end
|
|
end
|
|
local nPos = EgtGetValInNotes( EMC.USERNOTES, 'POS', 'i')
|
|
if nPos == 2 then
|
|
EmtModifyHeadAuxDirection( 'H2', X_AX())
|
|
EmtModifyAxisHome( 'A2', -90)
|
|
EgtResetAxisPos( 'A2')
|
|
EgtSetRotAxisBlock( 'A2', -90)
|
|
else
|
|
EmtModifyHeadAuxDirection( 'H2', -Y_AX())
|
|
EmtModifyAxisHome( 'A2', 0)
|
|
EgtResetAxisPos( 'A2')
|
|
EgtSetRotAxisBlock( 'A2', 0)
|
|
end
|
|
elseif EMC.HEAD == 'H3' then
|
|
-- aggiustamenti per distanza da naso mandrino
|
|
local dDist = EgtIf( EMC.DIST and abs( EMC.DIST) > 1, EMC.DIST, ChSawLen)
|
|
EmtModifyExitPosition( EMC.HEAD, EMC.EXIT, Point3d( 0, 0, -dDist))
|
|
if not EMC.VER or EMC.VER < '2.5h2' then
|
|
local vtMove = Point3d( 0, 0, -dDist) - Point3d( EMC.EXITPOS)
|
|
local ExitId = EgtGetFirstNameInGroup( EgtGetHeadId( EMC.HEAD), 'T'..tostring( EMC.EXIT))
|
|
EgtMove( ExitId, vtMove)
|
|
end
|
|
end
|
|
EmtModifyAxisHome( 'B', 0)
|
|
end
|
|
end
|
|
|
|
---------------------------------------------------------------------
|
|
-- Funzione per resettare tutte le attivazioni della macchina
|
|
function OnResetMachine()
|
|
EmtUnlinkAllRawPartsFromGroups()
|
|
EmtUnlinkAllFixturesFromGroups()
|
|
EMC = { HEAD='H1'}
|
|
OnSetHead()
|
|
-- nascondo Vmill
|
|
local nRawId = EgtGetFirstRawPart()
|
|
while nRawId do
|
|
local nId = EgtGetFirstInGroup( nRawId)
|
|
while nId do
|
|
if EgtGetInfo( nId, 'N', 's') == 'VMill' then
|
|
EgtSetStatus( nId, GDB_ST.OFF)
|
|
else
|
|
EgtSetStatus( nId, GDB_ST.ON)
|
|
end
|
|
nId = EgtGetNext( nId)
|
|
end
|
|
nRawId = EgtGetNextRawPart( nRawId)
|
|
end
|
|
EgtSetStatus( EgtGetFirstNameInGroup( GDB_ID.ROOT, 'VMill') or GDB_ID.NULL, GDB_ST.OFF)
|
|
end
|