diff --git a/Beam/BeamData.lua b/Beam/BeamData.lua index bffa4d1..ca4712d 100644 --- a/Beam/BeamData.lua +++ b/Beam/BeamData.lua @@ -68,13 +68,16 @@ local BeamData = { KIOTP = 5, -- coefficiente moltiplicativo per attacco/uscita lama tangente anzichè perpendicolare MAXDIAM_POCK_CORNER = 31, -- diametro massimo utensile ammesso per tasche con angoli interni USE_LONGCUT = true, -- per i tagli longitudinali usare solo la lavorazione di lama LongCut - PRECUT_HEAD = true, -- flag abilitazione pretaglio grezzo a zero in testa - PRECUT_TAIL = true, -- flag abilitazione pretaglio grezzo a zero in coda + HEAD_DIM_FOR_BH = 125, -- dimensione di ingombro della testa per block haus + MAX_LEN_BH_FROM_BOTTOM = 210, -- massima lunghezza lavorabile da un lato di block haus da sotto + MAX_DIST_BH_FROM_BOTTOM = 600, -- massima distanza tra naso mandrino e sopra della trave senza collisione ADVANCE_TAIL_CUT = true, -- per spostare prima del taglio di separazione il taglio di coda su pezzi corti con robabile caduta ADVANCE_TAIL_OFFS = 10, -- accorciamento taglio di coda avanzato (minimo 1) DOUBLE_HEAD_DOVETAIL = false, -- flag abilitazione lavorazione mortase a coda di rondine in doppio DOUBLE_HEAD_MORTISE = false, -- flag abilitazione lavorazione mortase in doppio DOUBLE_HEAD_DRILLING = false, -- flag abilitazione forature in doppio + PRECUT_HEAD = true, -- flag abilitazione pretaglio grezzo a zero in testa + PRECUT_TAIL = true, -- flag abilitazione pretaglio grezzo a zero in coda CLAMP5 = false -- presenza pinza speciale per pezzi piccoli } @@ -99,6 +102,8 @@ if EgtExistsFile( sData) then if Machine.Offsets.DOUBLE_HEAD_DOVETAIL then BeamData.DOUBLE_HEAD_DOVETAIL = ( Machine.Offsets.DOUBLE_HEAD_DOVETAIL == 1) end if Machine.Offsets.DOUBLE_HEAD_MORTISE then BeamData.DOUBLE_HEAD_MORTISE = ( Machine.Offsets.DOUBLE_HEAD_MORTISE == 1) end if Machine.Offsets.DOUBLE_HEAD_DRILLING then BeamData.DOUBLE_HEAD_DRILLING = ( Machine.Offsets.DOUBLE_HEAD_DRILLING == 1) end + if Machine.Offsets.PRECUT_HEAD_DISABLE then BeamData.PRECUT_HEAD = ( Machine.Offsets.PRECUT_HEAD_DISABLE == 0) end + if Machine.Offsets.PRECUT_TAIL_DISABLE then BeamData.PRECUT_TAIL = ( Machine.Offsets.PRECUT_TAIL_DISABLE == 0) end BeamData.MINRAW_S = max( BeamData.MINRAW_S, Machine.Offsets.MINRAW_S or BeamData.MINRAW_S) BeamData.MINRAW_L = max( BeamData.MINRAW_L, Machine.Offsets.MINRAW_L or BeamData.MINRAW_L) BeamData.CUT_EXTRA = Machine.Offsets.CUT_EXTRA or BeamData.CUT_EXTRA @@ -113,8 +118,6 @@ if EgtExistsFile( sData) then BeamData.LEN_SHORT_PART = Machine.Offsets.LEN_SHORT_PART or BeamData.LEN_SHORT_PART BeamData.OVM_MID = Machine.Offsets.OVM_MID or BeamData.OVM_MID if Machine.Offsets.ROT90 ~= nil then BeamData.ROT90 = ( Machine.Offsets.ROT90 == 1) end - if Machine.Offsets.PRECUT_HEAD_DISABLE then BeamData.PRECUT_HEAD = ( Machine.Offsets.PRECUT_HEAD_DISABLE == 0) end - if Machine.Offsets.PRECUT_TAIL_DISABLE then BeamData.PRECUT_TAIL = ( Machine.Offsets.PRECUT_TAIL_DISABLE == 0) end end if Machine.Trave then BeamData.MIN_WIDTH = Machine.Trave.XMIN or BeamData.MIN_WIDTH @@ -226,6 +229,7 @@ local function GetSetupInfo( sHead) SetupInfo.bIsCSymmetrical = true SetupInfo.dCAxisEncumbrance = 180 SetupInfo.bToolOnAggregate = false + SetupInfo.Head = {} -- testa 5 assi da sopra, dietro if sHead == 'H11' then diff --git a/Common_ONE-PF.NUM.mlpe b/Common_ONE-PF.NUM.mlpe index 782da97..de52ab1 100644 --- a/Common_ONE-PF.NUM.mlpe +++ b/Common_ONE-PF.NUM.mlpe @@ -129,6 +129,11 @@ function OnToolData() local sOut = 'L1='..EgtNumToString( EMT.SMAX, 0)..' L2='..EmtLenToString( EMT.TDIST or ChSawLen, 1) sOut = sOut .. EgtIf( EMT.TCPOS == 'T111', ' G76H9998.2N411N414', ' G76H9998.2N511N514') EmtOutput( '('..sOut..')') + -- emissione dati aggregato BlockHaus + elseif EMT.HEAD == 'H17' then + sPos = EgtIf( #EMT.TCPOS == 2, EMT.TCPOS:gsub( 'T', 'N30'), EMT.TCPOS:gsub( 'T', 'N3')) + local sOut = 'L1='..EgtNumToString( EMT.SMAX, 0)..' L2='..EmtLenToString( ( AngTrBHOffs), 1)..' G76H9998.2'..sPos..sPos + EmtOutput( '('..sOut..')') -- emissione dati utensile (esclusa sega a catena) else -- output info @@ -142,7 +147,6 @@ function OnToolData() if EMT.TCPOS == 'T201' then sPos = 'N411' else - sPos = EgtIf( #EMT.TCPOS == 2, EMT.TCPOS:gsub( 'T', 'N30'), EMT.TCPOS:gsub( 'T', 'N3')) end local sOut = 'L1='..EgtNumToString( EMT.SMAX, 0)..' L2='..EmtLenToString( dAddLen + EMT.TTOTLEN, 1)..' G76H9998.2'..sPos..sPos @@ -2507,10 +2511,15 @@ function MyAdjustLinearAxes() local Len = ( EMT.TDIST or ChSawLen) + Mill2Offs local LenRef = Mill2Offs vtE = Vector3d( EMT.ADIR) * Len - Z_AX() * LenRef + elseif EMT.HEAD == 'H17' then + local LenAux = AngTrBHOffs + MillOffs + local LenRef = MillOffs + local vtAux = EgtGetCalcAuxDirFromAngles( EMT.R1, EMT.R2, EMT.R3) + vtE = vtAux * LenAux - Z_AX() * LenRef else EmtSetLastError( 1211, 'Head not defined ' .. ( EMT.HEAD or '')) end - if EMT.HEAD == 'H11' or EMT.HEAD == 'H12' or EMT.HEAD == 'H13' or EMT.HEAD == 'H15' then + if EMT.HEAD == 'H11' or EMT.HEAD == 'H12' or EMT.HEAD == 'H13' or EMT.HEAD == 'H15' or sHead == 'H17' then EMT.L1 = EMT.L1 - vtE:getX() EMT.L2 = EMT.L2 - DeltaTabY - vtE:getY() EMT.L3 = EMT.L3 - DeltaTabZ - vtE:getZ() @@ -2623,6 +2632,9 @@ function GetToolRadLen() -- se sega a catena elseif HeadIsChainSaw( EMT.HEAD) then return EMT.TLEN, ( EMT.TDIST or ChSawLen) + -- se aggregato BlockHaus + elseif EMT.HEAD == 'H17' then + return EMT.TDIAM / 2, AngTrBHOffs end end @@ -3107,7 +3119,7 @@ function PreselectNextDiffHead( nMchId, sHead) EmitMoveStartHead( 1) EmitMoveWaitHead( 1) end - -- Emetto preselezione (non ammessa per sega a catena H13 e H23) + -- Emetto preselezione (non ammessa per sega a catena H13 e H23 e aggregato BlockHaus H17) if sNextHead == 'H11' then EmitMoveDataHead( 1, { X=-ParkX1, Z=MaxZ1, B=ParkB1, C=ParkC1, TPos=AdjustTcPos( false, sNextTcPos)}) EmitMoveStartHead( 1) diff --git a/Common_ONE-PF.mlpe b/Common_ONE-PF.mlpe index 2a5224e..4b20618 100644 --- a/Common_ONE-PF.mlpe +++ b/Common_ONE-PF.mlpe @@ -648,7 +648,7 @@ function OnSimulToolDeselect( dPrevA) SimulMoveAxes( 'B1', ParkB1, MCH_SIM_STEP.RAPROT, 'C1', ParkC1, MCH_SIM_STEP.RAPROT) SimulMoveAxis( 'X1', ParkX1, MCH_SIM_STEP.RAPID) -- deposito utensile lama - elseif EMT.PREVHEAD_H1 == 'H12' then + elseif EMT.PREVHEAD_H1 == 'H12' or EMT.PREVHEAD_H1 == 'H17' then -- simulo movimento SimulMoveAxes( 'B1', ParkB1, MCH_SIM_STEP.RAPROT, 'C1', ParkC1, MCH_SIM_STEP.RAPROT) SimulMoveAxis( 'X1', ParkX1, MCH_SIM_STEP.RAPID) @@ -716,7 +716,7 @@ function OnSimulToolDeselect( dPrevA) -- nascondo l'utensile sulla testa EgtSetMode( EgtGetHeadId( EMT.PREVHEAD_H1 or '') or GDB_ID.NULL, GDB_MD.HIDDEN) -- prendo utensile fresa o lama - if EMT.NEXTHEAD == 'H11' or EMT.NEXTHEAD == 'H12' then + if EMT.NEXTHEAD == 'H11' or EMT.NEXTHEAD == 'H12' or EMT.NEXTHEAD == 'H17' then local MyParkX1 = EgtIf( GetHeadTCSet( EMT.NEXTHEAD, EMT.NEXTTCPOS) == 'Head1_TC1', ParkX1, ParkFrnX1) local MyParkB1 = ParkB1 local MyParkC1 = ParkC1 @@ -1084,7 +1084,7 @@ function OnSimulMoveStart() else if GetHeadTCSet( EMT.HEAD, EMT.TCPOS) == 'Head1_TC2' then -- se movimento iniziale da Zmax con lama o fresa - if EMT.HEAD == 'H11' or EMT.HEAD == 'H12' then + if EMT.HEAD == 'H11' or EMT.HEAD == 'H12' or EMT.HEAD == 'H17' then if EMT.ZMAX or EMT.FLAG == 1 or ( EMT.FLAG == 2 and EMT.FLAG2 == 1) then --EgtOutBox( 'Flag 2,1', 'Info Rapid') local bMoveZbeforeX = false @@ -2220,11 +2220,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 --------------------------------------------------------------------- @@ -2848,7 +2854,7 @@ end --------------------------------------------------------------------- function RollerParkingNeeded( sHead, dAng1p, dAng2p, dAng1, dAng2) - if sHead == 'H11' or sHead == 'H12' or HeadIsChainSaw( sHead) then + if sHead == 'H11' or sHead == 'H12' or sHead == 'H17' or HeadIsChainSaw( sHead) then return ( abs( dAng1 - dAng1p) > 1 or ( abs( dAng2 - dAng2p) > 1 and abs( dAng1 % 180.0) > 1)) elseif sHead == 'H21' or sHead == 'H22' or HeadIsChainSaw( sHead) then return ( abs( dAng1 - dAng1p) > 1 or ( abs( dAng2 - dAng2p) > 1 and abs( dAng1 % 180.0) > 1)) diff --git a/Common_ONE-PF.mlse b/Common_ONE-PF.mlse index 5a16ac7..68f9e34 100644 --- a/Common_ONE-PF.mlse +++ b/Common_ONE-PF.mlse @@ -72,7 +72,7 @@ function OnSpecialGetMaxZ() local vMZ = {{ Tz=0.85, Ez=390}, { Tz=0.5, Ez=280}, { Tz=-0.01, Ez=160}, { Tz=-0.5, Ez=1}, { Tz=-0.61, Ez=1}} EMC.MAXZ = ParkZ1 + CalcExtraZ( vtTpZm, vtT, vMZ) end - elseif EMC.HEAD == 'H12' and sHead_TC == 'Head1_TC1' then + elseif ( EMC.HEAD == 'H12' or EMC.HEAD == 'H17') and sHead_TC == 'Head1_TC1' then if vtTp:getX() > 0.4 and vtT:getX() > 0.4 then if bBSameSign and abs( EMC.R1 - EMC.R1p) < 165 then EMC.MAXZ = MaxZ1 - EgtIf( abs( EMC.R2) < 90.1 and abs( EMC.R2p) < 90.1, 0, 130) @@ -173,7 +173,7 @@ function OnSpecialMoveZup() if EMC.HEAD == 'H11' or EMC.HEAD == 'H21' then ; -- se lama posizionata su CU prossimo a testa 1 - elseif EMC.HEAD == 'H12' and sHead_TC == 'Head1_TC1' then + elseif ( EMC.HEAD == 'H12' or EMC.HEAD == 'H17') and sHead_TC == 'Head1_TC1' then -- se inclinata oltre 90 gradi e interferisce con la trave if ( EMC.R2 > 87.9 and ( EMC.R1 < 15.0 or EMC.R1 > 180.0)) or ( EMC.R2 < -87.9 and ( EMC.R1 > -15.0 and EMC.R1 < 180.0)) then local dZref = dZmax + min( 330 * vtT:getZ(), 0) + 260 * ( 1 - sqrt( 1- vtT:getZ() * vtT:getZ())) diff --git a/Essetre-PF.nge b/Essetre-PF.nge index 71af977..082f90d 100644 Binary files a/Essetre-PF.nge and b/Essetre-PF.nge differ diff --git a/Essetre-PFrl.ini b/Essetre-PFrl.ini index eb89be0..406b43e 100644 --- a/Essetre-PFrl.ini +++ b/Essetre-PFrl.ini @@ -108,6 +108,7 @@ H11.1=Standard.nge H11.1:MILL_NOTIP=MillNoTip.nge H12.1=Saw.nge H13.1=ChainSaw.nge +H17.1=AngTransmBH.nge H21.1=Standard.nge H21.1:MILL_NOTIP=MillNoTip.nge H22.1=Saw.nge @@ -136,6 +137,8 @@ H11=6608 H12=6615 ; Chainsaw H13=6616 +; Angular transmission +H17=6617 ; Second 5 axis head H21=6620 ; Second 5 axis saw diff --git a/Essetre-PFrl.mlde b/Essetre-PFrl.mlde index 6f2d58b..376312c 100644 --- a/Essetre-PFrl.mlde +++ b/Essetre-PFrl.mlde @@ -44,10 +44,10 @@ require( 'EmtGenerator') EgtEnableDebug( false) -PP_VER = '2.7g5' +PP_VER = '2.7g5_DEV1' PP_NVER = '2.7.7.5' MIN_MACH_VER = '2.5k1' -MACH_NAME = 'Essetre-PFrl' +MACH_NAME = string.match( EgtGetCurrMachineDir(), "[^\\]+$") -- si ricava il nome della macchina dal direttorio -- Carico i dati globali local sMachDir = EgtGetCurrMachineDir() @@ -155,6 +155,8 @@ ParkB2 = -90 MinDeltaX1X2 = 650 MinDistToolX1X2 = 40 LimX2RotSaw = 800 +AngTrBHOffs = 154.5 +AngTrBHLen = 90 TurnerOffs = 120.0 AggLoad = 50 DeltaTabY = 1170.0 @@ -172,8 +174,11 @@ DefTcPos1 = 'T3' DefTcPos2 = 'T13' SecondSaw = false AutomaticRotation = true +OptimizedLoadBeam = true AutoRotMinLen = 0 +EstimationRapidMultiplier = 1 ForceToCloseRollersGate = false +AggreBlockHaus = false -- Aggiornamento con dati da TechnoEssetre7 local sTs3Data = EgtGetStringFromIni( 'Beam', 'DATA_DIR', "C:\\TechnoEssetre7\\EgtData", EgtGetIniFile()).."\\Essetre-PFrl.data" @@ -255,14 +260,18 @@ if EgtExistsFile( sData) then if Machine.Offsets.SAWOFFSZ then SawOffsZ = Machine.Offsets.SAWOFFSZ end if Machine.Offsets.SAW2OFFSX then Saw2OffsX = Machine.Offsets.SAW2OFFSX end if Machine.Offsets.SAW2OFFSZ then Saw2OffsZ = Machine.Offsets.SAW2OFFSZ end + if Machine.Offsets.DEFTCPOS1 then DefTcPos1 = ( 'T' .. Machine.Offsets.DEFTCPOS1) end + if Machine.Offsets.DEFTCPOS2 then DefTcPos2 = ( 'T' .. Machine.Offsets.DEFTCPOS2) end if Machine.Offsets.NOULOAD then MaxUnloadLen = Machine.Offsets.NOULOAD end if Machine.Offsets.MAXFEEDPINZE then MaxFeedPinze = Machine.Offsets.MAXFEEDPINZE end if Machine.Offsets.MAXACC then MaxAcc = Machine.Offsets.MAXACC end if Machine.Offsets.MINACC then MinAcc = Machine.Offsets.MINACC end - if Machine.Offsets.DEFTCPOS1 then DefTcPos1 = ( 'T' .. Machine.Offsets.DEFTCPOS1) end - if Machine.Offsets.DEFTCPOS2 then DefTcPos2 = ( 'T' .. Machine.Offsets.DEFTCPOS2) end + if Machine.Offsets.COEFF_STIMATEMPI and Machine.Offsets.COEFF_STIMATEMPI > 0 then EstimationRapidMultiplier = Machine.Offsets.COEFF_STIMATEMPI end if Machine.Offsets.CHIUDI_PINZE_2_3_SCAMBIO then ForceToCloseRollersGate = Machine.Offsets.CHIUDI_PINZE_2_3_SCAMBIO == 1 end if Machine.Offsets.WOOD_DENSITY then WoodDensity = Machine.Offsets.WOOD_DENSITY end + if Machine.Offsets.AGGRE_BH then AggreBlockHaus = ( Machine.Offsets.AGGRE_BH == 1) end + AngTrBHOffs = Machine.Offsets.OFFSETZ_RINV_BH or AngTrBHOffs + AngTrBHLen = Machine.Offsets.OFFSETX_RINV_BH or AngTrBHLen if Machine.Offsets.MAX_BACK_CLAMP_5 then MaxBackClamp5 = Machine.Offsets.MAX_BACK_CLAMP_5 end -- aggiustamenti MinY1 = MinV1 + MinDeltaYV @@ -399,6 +408,24 @@ local H13Id = EmtHead { Geo = 'H13_HEAD/GEO'} EgtSetInfo( H13Id, 'ZSAFEDELTA', '60') EgtSetInfo( H13Id, 'ZMAXONROT', '1,80') + +-- Eventuale aggregato per lavorazioni BlockHaus +if AggreBlockHaus then + local H17Id = EmtHead { + Name = 'H17', + Parent = 'B1', + HSet = 'H11', + Type = MCH_HT.STD, + Pos = Point3d( -AngTrBHLen, 0, -AngTrBHOffs), + TDir = X_AX(), + ADir = Z_AX(), + Rot1W = 0.2, + SolCh = MCH_SCC.ADIR_NEAR, + OthColl = {'H2', 'B/SOLID', 'C/SOLID'}, + Geo = 'H17_HEAD/GEO', + Aux = {'H17_HEAD/SOLID', 'H17_HEAD/COLLISION'}} +end + -- *** Testa 2 *** local X2Id = EmtAxis { Name = 'X2', @@ -688,13 +715,24 @@ EmtTcPos { TDir = -Y_AX(), ADir = -X_AX(), Geo = 'BASE/T8'} -EmtTcPos { +if AggreBlockHaus then + local TcpSsId = EmtTcPos { + Name = 'T9', + Parent = 'Base', + Pos = ptTc1 + 8 * vtDt1 + Vector3d( -AngTrBHLen, AngTrBHOffs, 0), + TDir = X_AX(), + ADir = -Y_AX(), + Geo = 'BASE/T9_BH', + Aux = 'BASE/T9_HS'} +else + EmtTcPos { Name = 'T9', Parent = 'Base', Pos = ptTc1 + 8 * vtDt1, TDir = -Y_AX(), ADir = -X_AX(), Geo = 'BASE/T9'} +end EmtTcPos { Name = 'T10', Parent = 'Base', @@ -804,6 +842,10 @@ EgtMove( EgtGetFirstNameInGroup( BaseId, 'TC3') or GDB_ID.NULL, vtMovB, GDB_RT.G if Mortiser then EgtMove( EgtGetFirstNameInGroup( BaseId, 'TC4') or GDB_ID.NULL, vtMovB, GDB_RT.GLOB) end +-- sposto geometria aggiuntiva agrgegato BlockHaus +if AggreBlockHaus then + EgtMove( EgtGetFirstNameInGroup( EgtGetFirstNameInGroup( BaseId, 'T9'), 'T9_HS') or GDB_ID.NULL, vtMovB, GDB_RT.GLOB) +end EgtMove( EgtGetFirstNameInGroup( X1Id, 'SOLID'), vtMovB, GDB_RT.GLOB) EgtMove( EgtGetFirstNameInGroup( X1Id, 'COLLISION'), vtMovB, GDB_RT.GLOB) EgtMove( EgtGetFirstNameInGroup( X2Id, 'SOLID'), vtMovB, GDB_RT.GLOB) @@ -851,7 +893,7 @@ function OnSetHead() EmtModifyAxisHome( 'B1', ParkB1) EmtModifyAxisDirection( 'B1', X_AX()) -- se testa H12 (lama) - elseif EMC.HEAD == 'H12' then + elseif EMC.HEAD == 'H12' or EMC.HEAD == 'H17' then EmtModifyAxisHome( 'X1', ParkX1) EmtModifyAxisHome( 'Z1', ParkZ1) EmtModifyAxisHome( 'C1', ParkC1) @@ -893,9 +935,9 @@ end --------------------------------------------------------------------- function GetHeadSet( sHead) - if sHead == 'H11' or sHead == 'H12' or sHead == 'H13' then + if sHead == 'H11' or sHead == 'H12' or sHead == 'H13' or sHead == 'H15' or sHead == 'H17' then return 1 - elseif sHead == 'H21' or sHead == 'H22' then + elseif sHead == 'H21' or sHead == 'H22' or sHead == 'H23' then return 2 else return 0 @@ -907,7 +949,7 @@ end function GetHeadTCSet( sHead, sTcPos) local nPos = tonumber( string.sub( sTcPos, 2)) or 0 -- testa 1 - if sHead == 'H11' or sHead == 'H12' or sHead == 'H13' or sHead == 'H15' then + if sHead == 'H11' or sHead == 'H12' or sHead == 'H13' or sHead == 'H15' or sHead == 'H17' then -- testa 1 su CU prossimo a testa 2 if nPos > 10 then return 'Head1_TC2' @@ -971,7 +1013,7 @@ end --------------------------------------------------------------------- -- Funzione che ritorna ZExtra partendo dalla testa e dall'angolo verticale function GetZExtra( sHead, dAngV) - if sHead == 'H11' or sHead == 'H21' then + if sHead == 'H11' or sHead == 'H21' or sHead == 'H17' then if abs( dAngV) < 30.1 then return 400 elseif abs( dAngV) < 45.1 then diff --git a/Scripts/SetUp.lua b/Scripts/SetUp.lua index 37005d6..c1151c8 100644 --- a/Scripts/SetUp.lua +++ b/Scripts/SetUp.lua @@ -30,6 +30,7 @@ local GS = {} -- Configurazione posizioni (con o senza TC2) local PositionTable = {} local SecondSaw = ( EgtGetHeadId( 'H22') ~= nil) +local AggreBH = ( EgtGetHeadId( 'H17') ~= nil) if SecondSaw then PositionTable = {{Pos = "Pos1", TcPos = "T1", Head = "H12", Group = "G1"}, {Pos = "Pos2", TcPos = "T3", Head = "H11", Group = "G1"}, @@ -38,7 +39,7 @@ if SecondSaw then {Pos = "Pos5", TcPos = "T6", Head = "H11", Group = "G1"}, {Pos = "Pos6", TcPos = "T7", Head = "H11", Group = "G1"}, {Pos = "Pos7", TcPos = "T8", Head = "H11", Group = "G1"}, - {Pos = "Pos8", TcPos = "T9", Head = "H11", Group = "G1"}, + {Pos = "Pos8", TcPos = "T9", Head = EgtIf( AggreBH, "H17", "H11"), Group = "G1"}, {Pos = "Pos9", TcPos = "T10", Head = "H11", Group = "G1"}, {Pos = "Pos10", TcPos = "T11", Head = "H22", Group = "G3"}, {Pos = "Pos11", TcPos = "T13", Head = "H21", Group = "G3"}, @@ -61,7 +62,7 @@ else {Pos = "Pos5", TcPos = "T6", Head = "H11", Group = "G1"}, {Pos = "Pos6", TcPos = "T7", Head = "H11", Group = "G1"}, {Pos = "Pos7", TcPos = "T8", Head = "H11", Group = "G1"}, - {Pos = "Pos8", TcPos = "T9", Head = "H11", Group = "G1"}, + {Pos = "Pos8", TcPos = "T9", Head = EgtIf( AggreBH, "H17", "H11"), Group = "G1"}, {Pos = "Pos9", TcPos = "T10", Head = "H11", Group = "G1"}, {Pos = "Pos10", TcPos = "T11", Head = "H21", Group = "G3"}, {Pos = "Pos11", TcPos = "T12", Head = "H21", Group = "G3"}, @@ -78,7 +79,7 @@ else table.insert( PositionTable, {Pos = "Pos21", TcPos = "T201", Head = "H13", Group = "G2"}) end end -local UsePositionHead = true +local UsePositionHead = false local function IsInGeomSet( ToolHead, PosHead) for GsIndex = 1, #GS do diff --git a/THolders/AngTransmBH.nge b/THolders/AngTransmBH.nge new file mode 100644 index 0000000..ef9fe96 Binary files /dev/null and b/THolders/AngTransmBH.nge differ