Compare commits

...

3 Commits

Author SHA1 Message Date
daniele.nicoli 9585b06976 -Aggiunta lama non ancora implementata funzionante.
-aggiunti TH da PF
- Modificati nomi magazzino
- Aggiunte Machnotes e Toolnotes
2026-04-03 16:56:37 +02:00
daniele.nicoli 7351e269c9 cambio versione DEV3 2026-04-03 09:24:42 +02:00
daniele.nicoli c431363005 Sistemati segni chiodatrici in - 2026-04-03 09:22:03 +02:00
19 changed files with 169 additions and 62 deletions
+6 -6
View File
@@ -18,9 +18,7 @@ Active=1
[ToolHolder]
H1.1=Standard.nge
H1.1:MILL_NOTIP=MillNoTip.nge
H1.1:SAW_FLAT=SawOnH1.nge
H2.1=SawOnAT.nge
H3.1=ChainSaw.nge
H12.1=Saw.nge
[Machinings]
Drilling=1
@@ -45,9 +43,11 @@ ExitScript=ExitMach.lua
; 5 axis head
H1=6608
; 5 axis saw
H2=6615
; Chainsaw
H3=6616
H12=6615
; Nail
H21=6630
H22=6630
H23=6630
[SetUp]
Default=Standard
+64 -50
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_DEV2'
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"
@@ -109,23 +113,23 @@ if EgtExistsFile( sData) then
SawOffs = MchOffs.PIVOT_SAW or SawOffs
if MchOffs.OFFSET_ZERO3_Y then DimTabX = - MchOffs.OFFSET_ZERO3_Y end
if MchOffs.OFFSET_ZERO2_X then DimTabY = - MchOffs.OFFSET_ZERO2_X end
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_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
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
if MchOffs.ZERO_Y_MILL and MchOffs.ZERO_NAIL12_Y then Nail12DeltaX = -( MchOffs.ZERO_Y_MILL - MchOffs.ZERO_NAIL12_Y) end
if MchOffs.ZERO_X_MILL and MchOffs.ZERO_NAIL12_X then Nail12DeltaY = ( MchOffs.ZERO_X_MILL - MchOffs.ZERO_NAIL12_X) end
if MchOffs.ZERO_Y_MILL and MchOffs.ZERO_NAIL12_Y then Nail12DeltaX = ( MchOffs.ZERO_Y_MILL - MchOffs.ZERO_NAIL12_Y) end
if MchOffs.ZERO_X_MILL and MchOffs.ZERO_NAIL12_X then Nail12DeltaY = - ( MchOffs.ZERO_X_MILL - MchOffs.ZERO_NAIL12_X) end
if MchOffs.ZERO_Z_MILL and MchOffs.ZERO_NAIL12_Z then Nail12DeltaZ = ( MchOffs.ZERO_Z_MILL - MchOffs.ZERO_NAIL12_Z) end
if MchOffs.ZERO_Y_MILL and MchOffs.ZERO_NAIL13_Y then Nail13DeltaX = -( MchOffs.ZERO_Y_MILL - MchOffs.ZERO_NAIL13_Y) end
if MchOffs.ZERO_X_MILL and MchOffs.ZERO_NAIL13_X then Nail13DeltaY = ( MchOffs.ZERO_X_MILL - MchOffs.ZERO_NAIL13_X) end
if MchOffs.ZERO_Y_MILL and MchOffs.ZERO_NAIL13_Y then Nail13DeltaX = ( MchOffs.ZERO_Y_MILL - MchOffs.ZERO_NAIL13_Y) end
if MchOffs.ZERO_X_MILL and MchOffs.ZERO_NAIL13_X then Nail13DeltaY = - ( MchOffs.ZERO_X_MILL - MchOffs.ZERO_NAIL13_X) end
if MchOffs.ZERO_Z_MILL and MchOffs.ZERO_NAIL13_Z then Nail13DeltaZ = ( MchOffs.ZERO_Z_MILL - MchOffs.ZERO_NAIL13_Z) end
if MchOffs.ZERO_Y_MILL and MchOffs.ZERO_NAIL14_Y then Nail14DeltaX = -( MchOffs.ZERO_Y_MILL - MchOffs.ZERO_NAIL14_Y) end
if MchOffs.ZERO_X_MILL and MchOffs.ZERO_NAIL14_X then Nail14DeltaY = ( MchOffs.ZERO_X_MILL - MchOffs.ZERO_NAIL14_X) end
if MchOffs.ZERO_Y_MILL and MchOffs.ZERO_NAIL14_Y then Nail14DeltaX = ( MchOffs.ZERO_Y_MILL - MchOffs.ZERO_NAIL14_Y) end
if MchOffs.ZERO_X_MILL and MchOffs.ZERO_NAIL14_X then Nail14DeltaY = - ( MchOffs.ZERO_X_MILL - MchOffs.ZERO_NAIL14_X) end
if MchOffs.ZERO_Z_MILL and MchOffs.ZERO_NAIL14_Z then Nail14DeltaZ = ( MchOffs.ZERO_Z_MILL - MchOffs.ZERO_NAIL14_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
@@ -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)
+7 -1
View File
@@ -647,11 +647,17 @@ end
---------------------------------------------------------------------
function ShowToolInTcPos( sTcPos, bShow)
-- recupero identificativo della posizione sul TC
local TcPosId = EgtGetTcPosId( sTcPos or '')
if not TcPosId then return end
-- recupero il gruppo dell'utensile
local TcExitId = EgtGetFirstNameInGroup( EgtGetTcPosId( sTcPos or '') or GDB_ID.NULL, 'T1')
local TcExitId = EgtGetFirstNameInGroup( TcPosId or GDB_ID.NULL, 'T1')
if not TcExitId then return end
-- imposto lo stato di visualizzazione
EgtSetStatus( TcExitId, EgtIf( bShow, GDB_ST.ON, GDB_ST.OFF))
-- recupero eventuale gruppo ausiliario da visualizzare/nascondere
local TcHSId = EgtGetFirstNameInGroup( TcPosId, sTcPos .. '_HS')
if TcHSId then EgtSetStatus( TcHSId, EgtIf( bShow, GDB_ST.ON, GDB_ST.OFF)) end
end
---------------------------------------------------------------------
BIN
View File
Binary file not shown.
+50
View File
@@ -0,0 +1,50 @@
; Commento per evitare BOM con UTF-8
;Index = Type, Description, Default Value
; Type : b=boolean, d=double, l=lenght, s=string
[Drilling]
[Sawing]
[Milling]
0=d,MaxElev,0
1=d,OutRaw,0
2=d,SideElev,0
3=d,TrimExt,0
4=sr,VtFaceUse,0,0,0
[Pocketing]
0=d,MaxElev,0
1=b,Open,0
2=d,OpenMinSave,0
3=d,OpenOutRaw,0
4=d,MaxOptSize,0
[Mortising]
0=d,MaxElev,0
[Chiseling]
[SawRoughing]
[SawFinishing]
[GenMachining]
0=l,LinTol,0.1
1=l,MaxLen,2
2=s,Type,ZigZag
3=d,SideAng,90
4=l,Step,10
5=l,OffsProj,0
6=l,LiTang,0
7=l,LiOrth,0
8=l,LiElev,0
9=l,LoTang,0
10=l,LoOrth,0
11=l,LoElev,0
12=b,DirFromGuide,1
[SurfRoughing]
[SurfFinishing]
0=b,SkipMaxDown,1
+1 -1
View File
@@ -34,7 +34,7 @@ local PositionTable={{Pos = "Pos1", TcPos = "T1", Head = "H1", Group = "G1"},
{Pos = "Pos4", TcPos = "T4", Head = "H1", Group = "G1"},
{Pos = "Pos5", TcPos = "T5", Head = "H1", Group = "G1"},
{Pos = "Pos6", TcPos = "T6", Head = "H1", Group = "G1"},
{Pos = "Pos7", TcPos = "T7", Head = "H1", Group = "G1"},
{Pos = "Pos7", TcPos = "T8", Head = "H12", Group = "G1"},
{Pos = "Pos8", TcPos = "T11", Head = "H21", Group = "G2"},
{Pos = "Pos9", TcPos = "T12", Head = "H22", Group = "G2"},
{Pos = "Pos10", TcPos = "T13", Head = "H23", Group = "G2"}}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
+41
View File
@@ -0,0 +1,41 @@
; Commento per evitare BOM con UTF-8
; Index, Type, Description, Value
; Index = 0,1,..,n
; Type : d=double, l=lenght, s=string, b=boolean, dr=double recalc, sr= string recalc, lr=lenght recalc, br=boolean recalc, th=toolholder
; Description : STEP, SIDESTEP, ...
[DRILL_STD]
0=th,TH,
1=d,STEP
2=s,DOUBLE
[SAW_STD]
0=th,TH,
1=d,STEP
2=d,SIDESTEP
3=b,LONGCUT
[SAW_FLAT]
0=th,TH,
1=d,STEP
2=d,SIDESTEP
3=b,LONGCUT
[MILL_STD]
0=th,TH,
1=d,STEP
2=d,SIDESTEP
3=d,SIDEDEPTH
4=s,DOUBLE
[MILL_NOTIP]
0=th,TH,
1=d,STEP
2=d,SIDESTEP
3=d,SIDEDEPTH
4=s,DOUBLE
[MORTISE_STD]
0=b,MORTISE
1=d,STEP
2=d,SIDESTEP
-4
View File
@@ -57,10 +57,6 @@ if EgtExistsFile( sData) then
WallData.MAX_WIDTH = Machine.Trave.XMAX or BeamData.MAX_WIDTH
WallData.MAX_HEIGHT = Machine.Trave.ZMAX or BeamData.MAX_HEIGHT
end
if Machine.Offsets then
WallData.MID_REF = -Machine.Offsets.OFFSET_ZERO5_Y
WallData.T14_T12_DOUBLE = ( Machine.Offsets.T14_T12_DOUBLE == 1)
end
end
end