Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 40ab4990a7 | |||
| 17ed12d1a4 | |||
| 51cd139d04 | |||
| 6e90aef7eb | |||
| e25710d8c1 | |||
| 3055a8d03c | |||
| feb68589b1 | |||
| f17642b64f | |||
| 8aedd1db7f | |||
| fa55eb558c | |||
| 6f59081ecb | |||
| aab05a8610 |
+36
@@ -0,0 +1,36 @@
|
||||
|
||||
REM Compilazione degli script macchina Egaltech 2024.02.22
|
||||
REM Per togliere info di debug aggiungere flag -s prima del nome del file di input
|
||||
|
||||
REM Compilazione 32 bit e copia file da non compilare
|
||||
|
||||
@echo off
|
||||
|
||||
REM chiedo all'utente la versione da assegnare alla macchina da compilare
|
||||
set /p "machineVersion=Inserisci versione: "
|
||||
|
||||
REM variabili per costruire i percorsi delle cartelle
|
||||
set "machineName=Essetre-90580012"
|
||||
set "deployFolder=C:\MachinesDeploy"
|
||||
set "machinePath=%deployFolder%\%machineName%\"
|
||||
set "fullPathSource=%deployFolder%\%machineName%\%machineVersion%\%machineName%"
|
||||
set "fullPathZip=%deployFolder%\%machineName%\%machineVersion%"
|
||||
|
||||
REM elimino eventuale cartella esistente
|
||||
rmdir /s /Q %fullPathZip%
|
||||
|
||||
REM copio i sorgenti nel percorso di destinazione
|
||||
ROBOCOPY . %fullPathSource%\ /E /XF "Compile.bat" /XF ".gitignore" /XD ".git" /XF "UpdateLog.txt"
|
||||
REM copio i sorgenti nel percorso temporaneo per i compilati
|
||||
ROBOCOPY . %fullPathSource%\bin\%machineName%\ /E /XF "Compile.bat" /XF ".gitignore" /XD ".git" /XF "UpdateLog.txt"
|
||||
|
||||
REM copio i file compilati nel percorso temporaneo per i compilati
|
||||
\EgtProg\Dll32\luac54 -o %fullPathSource%\bin\%machineName%\Essetre-WALL.mlpe -s Essetre-WALL.mlpe
|
||||
\EgtProg\Dll32\luac54 -o %fullPathSource%\bin\%machineName%\Essetre-WALL.NUM.mlpe -s Essetre-WALL.NUM.mlpe
|
||||
\EgtProg\Dll32\luac54 -o %fullPathSource%\bin\%machineName%\Essetre-WALL.mlse -s Essetre-WALL.mlse
|
||||
|
||||
REM comprimo i file compilati in uno zip pronto per essere distribuito
|
||||
tar.exe acvf %fullPathZip%\%machineName%.zip -C %fullPathSource%\bin\ %machineName%\*.*
|
||||
|
||||
REM elimino il percorso temporaneo
|
||||
rmdir /s /Q %fullPathSource%\bin\
|
||||
+10
-3
@@ -19,13 +19,14 @@
|
||||
require( 'EmtGenerator')
|
||||
EgtEnableDebug( false)
|
||||
|
||||
PP_VER = '2.7h1'
|
||||
PP_NVER = '2.7.8.1'
|
||||
PP_VER = '2.7j1_DEV1'
|
||||
PP_NVER = '2.7.10.1'
|
||||
|
||||
-- Parametri macchina
|
||||
NumericalControl = 'NUM' -- NUM o TPA
|
||||
MinY = 10000.0
|
||||
MaxY = 35500.0
|
||||
ParkY = 35000.0
|
||||
MinY2 = 0.0
|
||||
MaxY2 = 25500.0
|
||||
MinX1 = -5440.0
|
||||
@@ -67,6 +68,8 @@ DeltaTab2Z = -1150.0
|
||||
GantryTabs = 11000.0
|
||||
OffsetTabs = 332
|
||||
CoeffVM = 0.75
|
||||
ParkX1_SP = -5100
|
||||
SafePosRotAx = -4000
|
||||
|
||||
-- Aggiornamento con dati da TechnoEssetre7
|
||||
local sTs3Data = EgtGetStringFromIni( 'Wall', 'DATA_DIR', "C:\\TechnoEssetre7\\EgtData", EgtGetIniFile()).."\\Essetre-90580012.data"
|
||||
@@ -87,6 +90,7 @@ if EgtExistsFile( sData) then
|
||||
if MchOffs.MIN_Y then MaxY = -MchOffs.MIN_Y end
|
||||
if MchOffs.MAX_Y2 then MinY2 = -MchOffs.MAX_Y2 end
|
||||
if MchOffs.MIN_Y2 then MaxY2 = -MchOffs.MIN_Y2 end
|
||||
if MchOffs.PARK_Y then ParkY = EgtClamp( -MchOffs.PARK_Y, MinY, MaxY) end
|
||||
MinX1 = MchOffs.MIN_X or MinX1
|
||||
MaxX1 = MchOffs.MAX_X or MaxX1
|
||||
MinZ1 = MchOffs.MIN_Z or MinZ1
|
||||
@@ -115,6 +119,8 @@ if EgtExistsFile( sData) then
|
||||
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
|
||||
GantryTabs = MchOffs.GANTRY_TABLES or GantryTabs
|
||||
ParkX1_SP = MchOffs.PARK_X1_SP or ParkX1_SP
|
||||
SafePosRotAx = MchOffs.SAFE_ROT_AX or SafePosRotAx
|
||||
end
|
||||
end
|
||||
|
||||
@@ -128,6 +134,7 @@ EmtGeneral {
|
||||
Offset = Vector3d( -783.5, -5820.00, -1778.0),
|
||||
AxisMaxAdjust = 300,
|
||||
ExitMaxAdjust = 300,
|
||||
NewLinkMgr = 1,
|
||||
Special = 'Essetre-WALL.mlse',
|
||||
Processor = 'Essetre-WALL.mlpe'}
|
||||
local BaseId = EmtBase {
|
||||
@@ -187,7 +194,7 @@ EmtAxis {
|
||||
Stroke = {MinX1, MaxX1},
|
||||
Home = MinX1,
|
||||
Geo = 'X1_AXIS/GEO',
|
||||
Aux = {'X1_AXIS/SOLID'}}
|
||||
Aux = {'X1_AXIS/SOLID', 'X1_AXIS/COLLISION'}}
|
||||
EmtAxis {
|
||||
Name = 'Z1',
|
||||
Parent = 'X1',
|
||||
|
||||
Binary file not shown.
+51
-19
@@ -224,7 +224,7 @@ function OnRapid()
|
||||
if EMT.SCRAPFIRST then
|
||||
EMT.SCRAPFIRST = false
|
||||
local b3Raw = EgtGetRawPartBBox( EMT.RAWID)
|
||||
local ParkY = max( -( MaxY + b3Raw:getMin():getX() + b3Raw:getDimX() + 3000), -MaxY)
|
||||
-- local ParkY = max( -( MaxY + b3Raw:getMin():getX() + b3Raw:getDimX() + 3000), -MaxY)
|
||||
EmtOutput( 'G104 Y' .. EmtLenToString( ParkY, 3) .. ' ET1' .. GetEF())
|
||||
end
|
||||
-- pre-posizionamento
|
||||
@@ -250,7 +250,7 @@ function OnRapid()
|
||||
if bSystemSR then EMT.SCRAPFIRST = false end
|
||||
-- pausa per rimozione sfridi
|
||||
local b3Raw = EgtGetRawPartBBox( EMT.RAWID)
|
||||
local ParkY = max( -( MaxY + b3Raw:getMin():getX() + b3Raw:getDimX() + 3000), -MaxY)
|
||||
-- local ParkY = max( -( MaxY + b3Raw:getMin():getX() + b3Raw:getDimX() + 3000), -MaxY)
|
||||
EmtOutput( 'G104 Y' .. EmtLenToString( ParkY, 3) .. ' ET1' .. GetEF())
|
||||
end
|
||||
end
|
||||
@@ -261,7 +261,8 @@ function OnRapid()
|
||||
if EMT.HEAD == 'H1' then
|
||||
sOut = sOut .. ' U' .. EmtLenToString( MaxX2, 3) .. ' W0 V90 A0'
|
||||
elseif EMT.HEAD == 'H2' then
|
||||
sOut = sOut .. ' U' .. EmtLenToString( MinX1, 3) .. ' W0 V0 A0'
|
||||
local nHomeH1 = EgtIf( EMT.MAXMIN[2] > SafePosRotAx, ParkX1_SP, MinX1)
|
||||
sOut = sOut .. ' U' .. EmtLenToString( nHomeH1, 3) .. ' W0 V0 A0'
|
||||
elseif EMT.HEAD == 'H3' then
|
||||
sOut = sOut .. ' U' .. EmtLenToString( MaxX2, 3) .. ' W0 V90 A0'
|
||||
else
|
||||
@@ -277,9 +278,45 @@ function OnRapid()
|
||||
local sER = ' ER' .. EmtLenToString( EgtIf( EMT.HEAD ~= 'H3', EMT.TDIAM / 2, EMT.TLEN), 3)
|
||||
sOut = sOut .. sET .. sEU .. sEE .. sEF .. sEM .. sES .. sEL .. sER
|
||||
EmtOutput( sOut)
|
||||
EMT.REFLOC = 0
|
||||
EMT.MCHFIRST = false
|
||||
EMT.ZMAX = false
|
||||
-- se ultimo climb
|
||||
if EMT.FLAG2 == 1 or EMT.FLAG2 == 0 then
|
||||
EMT.REFLOC = 0
|
||||
EMT.ZMAX = false
|
||||
end
|
||||
elseif EMT.FLAG == 2 and ( EMT.FLAG2 == 1 or EMT.FLAG2 == 2) then
|
||||
MyAdjustLinearAxes()
|
||||
EmtAdjustRotaryAxes()
|
||||
-- primo posizionamento
|
||||
EmtResetPrev()
|
||||
local sOut = 'G101' .. EmtGetAxis( 'L1') .. EmtGetAxis( 'L2') .. EmtGetAxis( 'L3') ..
|
||||
EmtGetAxis( 'R2') .. EmtGetAxis( 'R1')
|
||||
if EMT.HEAD == 'H1' then
|
||||
sOut = sOut .. ' U' .. EmtLenToString( MaxX2, 3) .. ' W0 V90 A0'
|
||||
elseif EMT.HEAD == 'H2' then
|
||||
local nHomeH1 = EgtIf( EMT.MAXMIN[2] > SafePosRotAx, ParkX1_SP, MinX1)
|
||||
sOut = sOut .. ' U' .. EmtLenToString( nHomeH1, 3) .. ' W0 V0 A0'
|
||||
elseif EMT.HEAD == 'H3' then
|
||||
sOut = sOut .. ' U' .. EmtLenToString( MaxX2, 3) .. ' W0 V90 A0'
|
||||
else
|
||||
EmtSetLastError( 1211, "Unknown Head : " .. EMT.HEAD)
|
||||
end
|
||||
local sET = GetET()
|
||||
local sEU = GetEU()
|
||||
local sEE = GetEE()
|
||||
local sEF = GetEF()
|
||||
local sEM = ' EM'..EgtIf( EMT.S > 0, '3', '4')
|
||||
local sES = ' ES'..EgtNumToString( abs( EMT.S), 0)
|
||||
local sEL = ' EL' .. EmtLenToString( EgtIf( EMT.HEAD ~= 'H3', EMT.TLEN, ( EMT.TDIST or ChSawLen)), 3)
|
||||
local sER = ' ER' .. EmtLenToString( EgtIf( EMT.HEAD ~= 'H3', EMT.TDIAM / 2, EMT.TLEN), 3)
|
||||
sOut = sOut .. sET .. sEU .. sEE .. sEF .. sEM .. sES .. sEL .. sER
|
||||
EmtOutput( sOut)
|
||||
EMT.MCHFIRST = false
|
||||
-- se ultimo climb
|
||||
if EMT.FLAG2 == 1 or EMT.FLAG2 == 0 then
|
||||
EMT.REFLOC = 0
|
||||
EMT.ZMAX = false
|
||||
end
|
||||
-- se standard
|
||||
elseif EMT.FLAG == 0 or EMT.FLAG == 1 or EMT.FLAG == 2 then
|
||||
-- se necessario, impostazione riferimento locale
|
||||
@@ -318,23 +355,18 @@ function OnRapid()
|
||||
end
|
||||
-- se altrimenti risalita a Z max a fine lavorazione
|
||||
elseif EMT.FLAG == 3 then
|
||||
if EMT.REFLOC then
|
||||
EMT.REFLOC = nil
|
||||
EMT.IPLGL = false
|
||||
local PrevL3op = EMT.L3op
|
||||
EmtResetPrev()
|
||||
EMT.REFLOC = nil
|
||||
EMT.IPLGL = false
|
||||
EmtResetPrev()
|
||||
if not EMT.ZMAX then
|
||||
-- dichiarazione fine lavorazione
|
||||
EmtOutput( 'G103'..GetET()..' E80000='..tostring( EMT.CNT + 1))
|
||||
MyAdjustLinearAxes()
|
||||
EmtAdjustRotaryAxes()
|
||||
if EMT.HEAD == 'H1' and PrevL3op < SafeZ1 then
|
||||
local sOut = 'G101 ' .. EMT.L3t .. EmtLenToString( SafeZ1, 3) .. GetET() .. GetEU() .. GetEE() .. GetEF()
|
||||
EmtOutput( sOut)
|
||||
end
|
||||
local sOut = 'G101' .. EmtGetAxis( 'L3') .. EmtGetAxis( 'R2') .. EmtGetAxis( 'R1') .. GetET() .. GetEU() .. GetEE() .. GetEF()
|
||||
EmtOutput( sOut)
|
||||
EMT.ZMAX = true
|
||||
end
|
||||
MyAdjustLinearAxes()
|
||||
EmtAdjustRotaryAxes()
|
||||
local sOut = 'G101' .. EmtGetAxis( 'L2') .. EmtGetAxis( 'L3') .. EmtGetAxis( 'R2') .. EmtGetAxis( 'R1') .. GetET() .. GetEU() .. GetEE() .. GetEF()
|
||||
EmtOutput( sOut)
|
||||
EMT.ZMAX = true
|
||||
-- se altrimenti movimento in Home
|
||||
elseif EMT.FLAG == 4 then
|
||||
-- non previsto
|
||||
|
||||
+38
-1
@@ -93,6 +93,26 @@ function OnSimulStart()
|
||||
EgtOutLog( 'Warning : MCODET with one or more null Element(s) ')
|
||||
end
|
||||
|
||||
-- Preparo lista solidi macchina con cui possono collidere gli oggetti sopra riportati (in aggiunta a VMill)
|
||||
local function GetMCoDet( AbId, sGrpName, sSolName)
|
||||
local GrpId = EgtGetFirstNameInGroup( AbId, sGrpName)
|
||||
if not GrpId then return GDB_ID.NULL end
|
||||
return EgtGetFirstNameInGroup( GrpId, sSolName) or GDB_ID.NULL
|
||||
end
|
||||
local function VerifyMCoDet( vMCD, sName)
|
||||
for i = #vMCD, 1, -1 do
|
||||
if not vMCD[i] or vMCD[i] == GDB_ID.NULL then
|
||||
table.remove( vMCD, i)
|
||||
EgtOutLog( ' Warning : '..sName..'[' .. tostring( i) .. '] is null')
|
||||
elseif EgtGetDebugLevel() >= 4 then
|
||||
EgtOutLog( ' '..sName..'[' .. tostring( i) .. ']='..tostring(vMCD[i]))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
EMT.MCODET_H1 = {}
|
||||
EMT.MCODET_H1[1] = GetMCoDet( EgtGetAxisId( 'X1'), 'COLLISION', 'SOL1')
|
||||
VerifyMCoDet( EMT.MCODET_H1, 'MCODET_H1')
|
||||
-- Preparo lista collisioni vuota
|
||||
EMT.COLLIDE = {}
|
||||
end
|
||||
@@ -281,6 +301,17 @@ function OnSimulToolSelect()
|
||||
for i, Coll in ipairs( EMT.COLLOBJ) do
|
||||
EmtAddCollisionObjEx( i, Coll.Fr, Coll.Ty, Coll.Mv, Coll.P1, Coll.P2, Coll.P3)
|
||||
end
|
||||
|
||||
-- aggiungo collisione altra testa
|
||||
|
||||
for i = #EMT.CODET, #( EMT.MCODET or {}) + EgtIf( EMT.VMILL, 1 ,0) + 1, -1 do
|
||||
table.remove( EMT.CODET, i)
|
||||
end
|
||||
if EMT.HEAD == 'H2' then
|
||||
for i = 1, #EMT.MCODET_H1 do
|
||||
table.insert( EMT.CODET, EMT.MCODET_H1[i])
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -419,6 +450,11 @@ function OnSimulMoveStart()
|
||||
EMT.A1n = 'Y2'
|
||||
EMT.A1m = 'Y'
|
||||
end
|
||||
-- il parcheggio della testa 1 dipende occupazione testa 2
|
||||
if EMT.HEAD == 'H2' and EMT.MAXMIN then
|
||||
local nHomeH1 = EgtIf( EMT.MAXMIN[2] > SafePosRotAx, ParkX1_SP, MinX1)
|
||||
EgtSetAxisPos( 'X1', nHomeH1)
|
||||
end
|
||||
-- se rapido a fine lavorazione con testa bassa, prima risalgo opportunamente in Z
|
||||
if EMT.HEAD == 'H1' and EMT.MOVE == 0 and EMT.FLAG == 3 and EMT.L3p < SafeZ1 then
|
||||
SimulMoveAxis( 'Z1', SafeZ1, MCH_SIM_STEP.RAPID)
|
||||
@@ -453,7 +489,8 @@ end
|
||||
---------------------------------------------------------------------
|
||||
function ParkForScrapRemove()
|
||||
local b3Raw = EgtGetRawPartBBox( EMT.RAWID)
|
||||
local ParkY = min( ( MaxY + b3Raw:getMin():getX() + b3Raw:getDimX() + 3000), MaxY)
|
||||
--local ParkY = min( ( MaxY + b3Raw:getMin():getX() + b3Raw:getDimX() + 3000), MaxY)
|
||||
|
||||
SimulMoveAxis( 'Z1', EgtGetAxisHomePos( 'Z1'), MCH_SIM_STEP.RAPID)
|
||||
if EMT.TAB2 then
|
||||
SimulMoveAxes( 'Y', ParkY, MCH_SIM_STEP.RAPID, 'Y2', ParkY - DimTabX - OffsetTabs, MCH_SIM_STEP.RAPID)
|
||||
|
||||
+155
-48
@@ -6,58 +6,165 @@ EgtEnableDebug( false)
|
||||
|
||||
EgtOutLog ( '** Essetre-WALL.mlse '..PP_VER..' **', 1)
|
||||
|
||||
---------------------------------------------------------------------
|
||||
function OnSpecialMoveZup()
|
||||
|
||||
-- Inizializzazioni
|
||||
EMC.MODIF = false
|
||||
EMC.ERR = 1
|
||||
|
||||
-- Se fresa
|
||||
-----------------------------------------------------------------------------------------
|
||||
function OnSpecialLink()
|
||||
-- se fresa su testa 1
|
||||
if EMC.HEAD == 'H1' then
|
||||
if EMC.L3 > -300 then
|
||||
EMC.R1 = EgtGetAxisHomePos( 'C1')
|
||||
EMC.R2 = EgtGetAxisHomePos( 'B1')
|
||||
EMC.TDIR = EgtGetCalcToolDirFromAngles( EMC.R1, EMC.R2)
|
||||
EMC.MODIF = true
|
||||
-- se inizio lavorazione con prelievo utensile
|
||||
if EMC.LINKTYPE == 1 then
|
||||
EmtRemoveClimb( EMC.NEXTMCHID)
|
||||
EmtAddClimb( EMC.NEXTMCHID, { EMC.L1, EMC.L2, EMC.L3p, EMC.R1p, EMC.R2p}, 31, 2, 1)
|
||||
-- se fine lavorazione con deposito utensile
|
||||
elseif EMC.LINKTYPE == 2 then
|
||||
if EMC.L3p < SafeZ1 then
|
||||
EmtRemoveRise( EMC.PREVMCHID)
|
||||
EmtAddRise( EMC.PREVMCHID, { EMC.L1p, EMC.L2p, SafeZ1, EMC.R1p, EMC.R2p}, 31, 3, 1)
|
||||
EmtAddRise( EMC.PREVMCHID, { EMC.L1p, EMC.L2p, EMC.L3, EMC.R1, EMC.R2}, 31, 3, 1)
|
||||
end
|
||||
-- altrimenti collegamento tra due lavorazioni (3)
|
||||
else
|
||||
end
|
||||
-- se altrimenti sega a catena
|
||||
elseif EMC.HEAD == 'H3' then
|
||||
-- disabilito
|
||||
do EMC.ERR = 0 return end
|
||||
local L3New = EMC.L3
|
||||
local R1New = EMC.R1
|
||||
local R2New = EMC.R2
|
||||
if EMC.L3 > -300 then
|
||||
L3New = min( EMC.L3, -250)
|
||||
R1New = EgtGetAxisHomePos( 'C1')
|
||||
R2New = EgtGetAxisHomePos( 'B1')
|
||||
EMC.MODIF = true
|
||||
end
|
||||
if EMC.L2 > -1200 then
|
||||
R1New = 180
|
||||
EMC.MODIF = true
|
||||
elseif EMC.L2 < -4700 then
|
||||
R1New = 0
|
||||
EMC.MODIF = true
|
||||
end
|
||||
if EMC.MODIF then
|
||||
EMC.L3 = L3New
|
||||
EMC.R1 = R1New
|
||||
EMC.R2 = R2New
|
||||
EMC.TDIR = EgtGetCalcToolDirFromAngles( EMC.R1, EMC.R2, EMC.R3)
|
||||
end
|
||||
-- se altrimenti lama
|
||||
|
||||
-- se testa lama
|
||||
elseif EMC.HEAD == 'H2' then
|
||||
if EMC.L3 > -200 then
|
||||
EMC.R1 = EgtGetAxisHomePos( 'C2')
|
||||
EMC.R2 = EgtGetAxisHomePos( 'B2')
|
||||
EMC.TDIR = EgtGetCalcToolDirFromAngles( EMC.R1, EMC.R2)
|
||||
EMC.MODIF = true
|
||||
-- se inizio lavorazione con prelievo utensile
|
||||
if EMC.LINKTYPE == 1 then
|
||||
EmtRemoveClimb( EMC.NEXTMCHID)
|
||||
if EMC.L2 < SafePosRotAx then
|
||||
local nXAxisRotation = SafePosRotAx
|
||||
EmtAddClimb( EMC.NEXTMCHID, { EMC.L1, nXAxisRotation, EMC.L3p, EMC.R1p, EMC.R2p}, 31, 2, 2)
|
||||
EmtAddClimb( EMC.NEXTMCHID, { EMC.L1, nXAxisRotation, EMC.L3p, EMC.R1, EMC.R2}, 31, 2, 2)
|
||||
EmtAddClimb( EMC.NEXTMCHID, { EMC.L1, EMC.L2, EMC.L3p, EMC.R1, EMC.R2}, 31, 2, 2)
|
||||
EmtAddClimb( EMC.NEXTMCHID, { EMC.L1, EMC.L2, EMC.L3, EMC.R1, EMC.R2}, 31, 2, 1)
|
||||
else
|
||||
EmtAddClimb( EMC.NEXTMCHID, { EMC.L1, EMC.L2, EMC.L3p, EMC.R1p, EMC.R2p}, 31, 2, 1)
|
||||
end
|
||||
-- se fine lavorazione con deposito utensile
|
||||
elseif EMC.LINKTYPE == 2 then
|
||||
if EMC.L2p < SafePosRotAx then
|
||||
EmtRemoveRise( EMC.PREVMCHID)
|
||||
local nXAxisRotation = SafePosRotAx
|
||||
EmtAddRise( EMC.PREVMCHID, { EMC.L1p, nXAxisRotation, EMC.L3p, EMC.R1p, EMC.R2p}, 31, 3, 1)
|
||||
EmtAddRise( EMC.PREVMCHID, { EMC.L1p, nXAxisRotation, EMC.L3, EMC.R1, EMC.R2}, 31, 3, 1)
|
||||
end
|
||||
-- altrimenti collegamento tra due lavorazioni (3)
|
||||
else
|
||||
-- si in zona dove non si può ruotare
|
||||
if EMC.L2 < SafePosRotAx or EMC.L2p < SafePosRotAx then
|
||||
local vLFiAx = EmtGetFinalAxesPos( EMC.PREVMCHID, false)
|
||||
-- approccio
|
||||
EmtRemoveClimb( EMC.NEXTMCHID)
|
||||
EmtAddClimb( EMC.NEXTMCHID, { EMC.L1, SafePosRotAx, vLFiAx[3], EMC.R1p, EMC.R2p}, 31, 2, 2)
|
||||
EmtAddClimb( EMC.NEXTMCHID, { EMC.L1, SafePosRotAx, vLFiAx[3], EMC.R1, EMC.R2}, 31, 2, 2)
|
||||
EmtAddClimb( EMC.NEXTMCHID, { EMC.L1, EMC.L2, vLFiAx[3], EMC.R1, EMC.R2}, 31, 2, 2)
|
||||
EmtAddClimb( EMC.NEXTMCHID, { EMC.L1, EMC.L2, EMC.L3, EMC.R1, EMC.R2}, 31, 2, 1)
|
||||
end
|
||||
end
|
||||
|
||||
-- se sega a catena su testa 1
|
||||
elseif EMC.HEAD == 'H3' then
|
||||
-- se inizio lavorazione con prelievo utensile
|
||||
if EMC.LINKTYPE == 1 then
|
||||
EmtRemoveClimb( EMC.NEXTMCHID)
|
||||
-- se fuori dalal zona sicura, primo movimento all'interno
|
||||
if EMC.L2 > -1200 then
|
||||
EmtAddClimb( EMC.NEXTMCHID, { EMC.L1, -1200, ParkChSawZ1, EMC.R1p, EMC.R2p, EMC.R3p}, 31, 2, 2)
|
||||
EmtAddClimb( EMC.NEXTMCHID, { EMC.L1, -1200, ParkChSawZ1, EMC.R1, EMC.R2, EMC.R3p}, 31, 2, 2)
|
||||
elseif EMC.L2 < -4500 then
|
||||
EmtAddClimb( EMC.NEXTMCHID, { EMC.L1, -4500, ParkChSawZ1, EMC.R1p, EMC.R2p, EMC.R3p}, 31, 2, 2)
|
||||
EmtAddClimb( EMC.NEXTMCHID, { EMC.L1, -4500, ParkChSawZ1, EMC.R1, EMC.R2, EMC.R3p}, 31, 2, 2)
|
||||
else
|
||||
EmtAddClimb( EMC.NEXTMCHID, { EMC.L1, EMC.L2, ParkChSawZ1, EMC.R1p, EMC.R2p, EMC.R3p}, 31, 2, 2)
|
||||
end
|
||||
EmtAddClimb( EMC.NEXTMCHID, { EMC.L1, EMC.L2, ParkChSawZ1, EMC.R1, EMC.R2, EMC.R3p}, 31, 2, 1)
|
||||
-- se fine lavorazione con deposito utensile
|
||||
elseif EMC.LINKTYPE == 2 then
|
||||
EmtRemoveRise( EMC.PREVMCHID)
|
||||
if EMC.L2p > -1200 or EMC.L2p < -4500 then
|
||||
EmtAddRise( EMC.PREVMCHID, { EMC.L1p, ParkChSawX1, ParkChSawZ1, EMC.R1p, EMC.R2p, EMC.R3p}, 31, 3, 2)
|
||||
end
|
||||
EmtAddRise( EMC.PREVMCHID, { EMC.L1p, ParkChSawX1, ParkChSawZ1, EMC.R1, EMC.R2, EMC.R3p}, 31, 3, 1)
|
||||
-- altrimenti collegamento tra due lavorazioni (3)
|
||||
else
|
||||
-- se deve ruotare assi rotanti
|
||||
if abs( EMC.R1 - EMC.R1p) > 1 or abs( EMC.R2 - EMC.R2p) > 1 then
|
||||
if EMC.L2 > -1200 or EMC.L2 < -4500 or EMC.L2p > -1200 or EMC.L2p < -4500 then
|
||||
local nXAxisRotation
|
||||
-- retrazione
|
||||
EmtRemoveRise( EMC.PREVMCHID)
|
||||
if EMC.L2p > -1200 then
|
||||
nXAxisRotation = -1200
|
||||
elseif EMC.L2p < -4500 then
|
||||
nXAxisRotation = -4500
|
||||
end
|
||||
EmtAddRise( EMC.PREVMCHID, { EMC.L1p, nXAxisRotation, EMC.L3p, EMC.R1p, EMC.R2p, EMC.R3p}, 31, 3, 1)
|
||||
-- approccio
|
||||
EmtRemoveClimb( EMC.NEXTMCHID)
|
||||
EmtAddClimb( EMC.NEXTMCHID, { EMC.L1, nXAxisRotation, EMC.L3, EMC.R1, EMC.R2, EMC.R3}, 31, 2, 2)
|
||||
EmtAddClimb( EMC.NEXTMCHID, { EMC.L1, EMC.L2, EMC.L3, EMC.R1, EMC.R2, EMC.R3}, 31, 2, 1)
|
||||
end
|
||||
end
|
||||
end
|
||||
-- altrimenti errore
|
||||
else
|
||||
error( "Unknown Head")
|
||||
end
|
||||
|
||||
EMC.ERR = 0
|
||||
end
|
||||
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- function OnSpecialMoveZup()
|
||||
--
|
||||
-- -- Inizializzazioni
|
||||
-- EMC.MODIF = false
|
||||
-- EMC.ERR = 1
|
||||
--
|
||||
-- -- Se fresa
|
||||
-- if EMC.HEAD == 'H1' then
|
||||
-- if EMC.L3 > -300 then
|
||||
-- EMC.R1 = EgtGetAxisHomePos( 'C1')
|
||||
-- EMC.R2 = EgtGetAxisHomePos( 'B1')
|
||||
-- EMC.TDIR = EgtGetCalcToolDirFromAngles( EMC.R1, EMC.R2)
|
||||
-- EMC.MODIF = true
|
||||
-- end
|
||||
-- -- se altrimenti sega a catena
|
||||
-- elseif EMC.HEAD == 'H3' then
|
||||
-- -- disabilito
|
||||
-- do EMC.ERR = 0 return end
|
||||
-- local L3New = EMC.L3
|
||||
-- local R1New = EMC.R1
|
||||
-- local R2New = EMC.R2
|
||||
-- if EMC.L3 > -300 then
|
||||
-- L3New = min( EMC.L3, -250)
|
||||
-- R1New = EgtGetAxisHomePos( 'C1')
|
||||
-- R2New = EgtGetAxisHomePos( 'B1')
|
||||
-- EMC.MODIF = true
|
||||
-- end
|
||||
-- if EMC.L2 > -1200 then
|
||||
-- R1New = 180
|
||||
-- EMC.MODIF = true
|
||||
-- elseif EMC.L2 < -4700 then
|
||||
-- R1New = 0
|
||||
-- EMC.MODIF = true
|
||||
-- end
|
||||
-- if EMC.MODIF then
|
||||
-- EMC.L3 = L3New
|
||||
-- EMC.R1 = R1New
|
||||
-- EMC.R2 = R2New
|
||||
-- EMC.TDIR = EgtGetCalcToolDirFromAngles( EMC.R1, EMC.R2, EMC.R3)
|
||||
-- end
|
||||
-- -- se altrimenti lama
|
||||
-- elseif EMC.HEAD == 'H2' then
|
||||
-- if EMC.L3 > -200 then
|
||||
-- EMC.R1 = EgtGetAxisHomePos( 'C2')
|
||||
-- EMC.R2 = EgtGetAxisHomePos( 'B2')
|
||||
-- EMC.TDIR = EgtGetCalcToolDirFromAngles( EMC.R1, EMC.R2)
|
||||
-- EMC.MODIF = true
|
||||
-- end
|
||||
--
|
||||
-- -- altrimenti errore
|
||||
-- else
|
||||
-- error( "Unknown Head")
|
||||
-- end
|
||||
-- EMC.ERR = 0
|
||||
-- end
|
||||
--
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -79,6 +79,8 @@ if EgtExistsFile( sData) then
|
||||
WallData.DELTA_X = Machine.Offsets.DELTA_Y or WallData.DELTA_X
|
||||
WallData.DELTA_Y = Machine.Offsets.DELTA_X or WallData.DELTA_Y
|
||||
WallData.DELTA_Z = Machine.Offsets.DELTA_Z or WallData.DELTA_Z
|
||||
WallData.SQUARING_TYPE = Machine.Offsets.SQUARING_TYPE or WallData.SQUARING_TYPE
|
||||
if Machine.Offsets.CUT_WITH_OUTLINE ~= nil then WallData.CUT_WITH_OUTLINE = ( Machine.Offsets.CUT_WITH_OUTLINE == 1) end
|
||||
end
|
||||
if Machine.Trave then
|
||||
WallData.MIN_LENGTH = Machine.Trave.YMIN or WallData.MIN_LENGTH
|
||||
|
||||
Reference in New Issue
Block a user