Compare commits
20 Commits
NewTopColl
...
2.7k4_DEV1
| Author | SHA1 | Date | |
|---|---|---|---|
| bbfff9f9c2 | |||
| 12ffc06055 | |||
| 34f5f655d1 | |||
| e08d54b436 | |||
| e2bf7b4cd1 | |||
| 7d5eb3ab3e | |||
| 74a79b9767 | |||
| d82e8876d0 | |||
| bea64cd05f | |||
| 0ebd4ca860 | |||
| 36d6ad355f | |||
| eac1d9b636 | |||
| e38c1d5c02 | |||
| ca08fa89b3 | |||
| 61b81d07e0 | |||
| 7c32cf62c7 | |||
| 9af3f82691 | |||
| 87b6fad2d9 | |||
| ea0abe4368 | |||
| eca719326b |
@@ -1,6 +1,7 @@
|
|||||||
/Tools
|
/Tools
|
||||||
/Machinings
|
/Machinings
|
||||||
/SetUp
|
/SetUp
|
||||||
|
/Beam/AISetup
|
||||||
/Beam/Ts3Data.bak
|
/Beam/Ts3Data.bak
|
||||||
/Beam/CutData.lua
|
/Beam/CutData.lua
|
||||||
/Beam/DrillData.lua
|
/Beam/DrillData.lua
|
||||||
|
|||||||
+5
-6
@@ -117,6 +117,7 @@ if EgtExistsFile( sData) then
|
|||||||
if Machine.Offsets.FASTCLAMPING ~= nil then BeamData.FASTCLAMPING = ( Machine.Offsets.FASTCLAMPING == 1) end
|
if Machine.Offsets.FASTCLAMPING ~= nil then BeamData.FASTCLAMPING = ( Machine.Offsets.FASTCLAMPING == 1) end
|
||||||
if Machine.Offsets.ROT90 ~= nil then BeamData.ROT90 = ( Machine.Offsets.ROT90 == 1) end
|
if Machine.Offsets.ROT90 ~= nil then BeamData.ROT90 = ( Machine.Offsets.ROT90 == 1) end
|
||||||
if Machine.Offsets.ROT180 ~= nil then BeamData.ROT180 = ( Machine.Offsets.ROT180 == 1) end
|
if Machine.Offsets.ROT180 ~= nil then BeamData.ROT180 = ( Machine.Offsets.ROT180 == 1) end
|
||||||
|
if Machine.Offsets.CUT_SIC then BeamData.CUT_SIC = EgtClamp( Machine.Offsets.CUT_SIC, 15, 50) end
|
||||||
end
|
end
|
||||||
if Machine.Trave then
|
if Machine.Trave then
|
||||||
BeamData.MIN_WIDTH = Machine.Trave.XMIN or BeamData.MIN_WIDTH
|
BeamData.MIN_WIDTH = Machine.Trave.XMIN or BeamData.MIN_WIDTH
|
||||||
@@ -191,11 +192,7 @@ BeamData.GetChainSawInitAngs = GetChainSawInitAngs
|
|||||||
|
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
local function GetMinNzTopHead( vtNFace)
|
local function GetMinNzTopHead( vtNFace)
|
||||||
if vtNFace and abs( vtNFace:getY()) > 0.8659 then
|
return sin( -45)
|
||||||
return -0.2499
|
|
||||||
else
|
|
||||||
return sin( -45)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
@@ -214,7 +211,9 @@ local function GetMinNzDownUp( b3Raw, vtNFace, vtToolDirection)
|
|||||||
and ( vtNFace and ( abs( vtNFace:getY()) > 0.983))
|
and ( vtNFace and ( abs( vtNFace:getY()) > 0.983))
|
||||||
and ( b3Raw:getDimY() < 210) then
|
and ( b3Raw:getDimY() < 210) then
|
||||||
|
|
||||||
return -0.173
|
return -0.173
|
||||||
|
elseif vtToolDirection and abs( vtToolDirection:getX()) > 0.708 and abs( vtNFace:getX()) < 0.708 then
|
||||||
|
return -1
|
||||||
else
|
else
|
||||||
-- N_HorAng > 60°
|
-- N_HorAng > 60°
|
||||||
if vtNFace and ( abs( vtNFace:getY()) > 0.866) then
|
if vtNFace and ( abs( vtNFace:getY()) > 0.866) then
|
||||||
|
|||||||
@@ -33,6 +33,7 @@
|
|||||||
20=SmallToolContour
|
20=SmallToolContour
|
||||||
21=AntiSplintMillCut
|
21=AntiSplintMillCut
|
||||||
22=Prof_end
|
22=Prof_end
|
||||||
|
23=SideMillAsBlade
|
||||||
|
|
||||||
[Pocketing]
|
[Pocketing]
|
||||||
1=Pocket
|
1=Pocket
|
||||||
|
|||||||
+10
-7
@@ -635,15 +635,24 @@ function OnRapid()
|
|||||||
bGoToHome = true
|
bGoToHome = true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- ricavo i dati per la lavorazione
|
||||||
|
local sEE = ' EE' .. EgtIf( bZmax, '3', '4')
|
||||||
|
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)
|
||||||
|
local sES = ' ES'..EgtNumToString( EMT.S, 0)
|
||||||
|
|
||||||
-- primo posizionamento
|
-- primo posizionamento
|
||||||
local MyZHome = EgtGetAxisHomePos( 'Z')
|
local MyZHome = EgtGetAxisHomePos( 'Z')
|
||||||
local bZmax = ( #EMT.AUXSTR > 0 or EMT.TOOL ~= EMT.PREVTOOL or EMT.L3 > -1)
|
local bZmax = ( #EMT.AUXSTR > 0 or EMT.TOOL ~= EMT.PREVTOOL or EMT.L3 > -1)
|
||||||
-- se avevo motosega, torno in zona sicura senza ruotare assi rotanti
|
-- se avevo motosega, torno in zona sicura senza ruotare assi rotanti
|
||||||
if not EMT.LOAD and EMT.PREVHEAD == 'H3' and (EMT.ST > BeamHeightForFixRot or bGoToHome) and EMT.FLAG2 == 1 then
|
if not EMT.LOAD and EMT.PREVHEAD == 'H3' and EMT.FLAG2 == 1 then
|
||||||
local sOutPreMove = 'G101' .. ' X' .. EmtLenToString( -SafeXRotAxes, 3) .. ' Z' .. EmtLenToString( MyZHome, 3) ..
|
local sOutPreMove = 'G101' .. ' X' .. EmtLenToString( -SafeXRotAxes, 3) .. ' Z' .. EmtLenToString( MyZHome, 3) ..
|
||||||
' B' .. EmtLenToString( EMT.R2pp, 3) .. ' C' .. EmtLenToString( EMT.R1pp, 3) ..
|
' B' .. EmtLenToString( EMT.R2pp, 3) .. ' C' .. EmtLenToString( EMT.R1pp, 3) ..
|
||||||
' EE' .. EgtIf( bZmax, '3', '4') .. EMT.PREVsEL .. EMT.PREVsER .. EMT.PREVsET .. EMT.PREVsES
|
' EE' .. EgtIf( bZmax, '3', '4') .. EMT.PREVsEL .. EMT.PREVsER .. EMT.PREVsET .. EMT.PREVsES
|
||||||
EmtOutput( sOutPreMove)
|
EmtOutput( sOutPreMove)
|
||||||
|
sOutPreMove = 'G101' .. ' X' .. EmtLenToString( -SafeXRotAxes, 3) .. ' Z' .. EmtLenToString( MyZHome, 3) ..
|
||||||
|
' B' .. EgtNumToString( 0, 3) .. ' C' .. EgtNumToString( EMT.R1pp, 3) .. sEE .. sEL .. sER .. sET .. sES
|
||||||
|
EmtOutput( sOutPreMove)
|
||||||
EmtOutput( 'G101 ET1001')
|
EmtOutput( 'G101 ET1001')
|
||||||
EmtOutput( 'G101 ET2001')
|
EmtOutput( 'G101 ET2001')
|
||||||
end
|
end
|
||||||
@@ -653,12 +662,6 @@ function OnRapid()
|
|||||||
EmtOutput( '( *** ' .. sOut .. ' *** )')
|
EmtOutput( '( *** ' .. sOut .. ' *** )')
|
||||||
end
|
end
|
||||||
|
|
||||||
-- ricavo i dati per la lavorazione
|
|
||||||
local sEE = ' EE' .. EgtIf( bZmax, '3', '4')
|
|
||||||
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)
|
|
||||||
local sES = ' ES'..EgtNumToString( EMT.S, 0)
|
|
||||||
|
|
||||||
-- se carico motosega, ruoto in zona sicura prima di approcciare la lavorazione
|
-- se carico motosega, ruoto in zona sicura prima di approcciare la lavorazione
|
||||||
if not EMT.LOAD and ( EMT.HEAD == 'H3' or ( bZmax and EMT.TTOTLEN > 200)) and
|
if not EMT.LOAD and ( EMT.HEAD == 'H3' or ( bZmax and EMT.TTOTLEN > 200)) and
|
||||||
( EMT.ST > BeamHeightForFixRot or ( EMT.HEAD == 'H1' and EMT.TTOTLEN > 350) or bGoToHome) and EMT.FLAG2 == 1 then
|
( EMT.ST > BeamHeightForFixRot or ( EMT.HEAD == 'H1' and EMT.TTOTLEN > 350) or bGoToHome) and EMT.FLAG2 == 1 then
|
||||||
|
|||||||
+21
-18
@@ -684,24 +684,6 @@ function OnRapid()
|
|||||||
bGoToHome = true
|
bGoToHome = true
|
||||||
end
|
end
|
||||||
|
|
||||||
-- primo posizionamento
|
|
||||||
local MyZHome = EgtGetAxisHomePos( 'Z')
|
|
||||||
local bZmax = ( #EMT.AUXSTR > 0 or EMT.TOOL ~= EMT.PREVTOOL or EMT.L3 > -1)
|
|
||||||
-- se avevo motosega, torno in zona sicura senza ruotare assi rotanti
|
|
||||||
if not EMT.LOAD and EMT.PREVHEAD == 'H3' and ( EMT.ST > BeamHeightForFixRot or bGoToHome) and EMT.FLAG2 == 1 then
|
|
||||||
local sOutPreMove = 'G101' .. ' X' .. EmtLenToString( -SafeXRotAxes, 3) .. ' Z' .. EmtLenToString( MyZHome, 3) ..
|
|
||||||
' B' .. EmtLenToString( EMT.R2pp, 3) .. ' C' .. EmtLenToString( EMT.R1pp, 3) ..
|
|
||||||
' EE' .. EgtIf( bZmax, '3', '4') .. EMT.PREVsEL .. EMT.PREVsER .. EMT.PREVsET .. EMT.PREVsES
|
|
||||||
EmtOutput( sOutPreMove)
|
|
||||||
EmtOutput( 'G101 ET1001')
|
|
||||||
EmtOutput( 'G101 ET2001')
|
|
||||||
end
|
|
||||||
|
|
||||||
if not EMT.LOAD then
|
|
||||||
local sOut = string.gsub( string.gsub( EMT.MCHNAME..'/'..EMT.TOOL, '%(', '-'), '%)', '-')
|
|
||||||
EmtOutput( '( *** ' .. sOut .. ' *** )')
|
|
||||||
end
|
|
||||||
|
|
||||||
-- ricavo i dati per la lavorazione
|
-- ricavo i dati per la lavorazione
|
||||||
local sEE = ' EE' .. EgtIf( bZmax, '3', '4')
|
local sEE = ' EE' .. EgtIf( bZmax, '3', '4')
|
||||||
|
|
||||||
@@ -731,6 +713,27 @@ function OnRapid()
|
|||||||
|
|
||||||
local sES = ' ES'..EgtNumToString( EMT.S, 0)
|
local sES = ' ES'..EgtNumToString( EMT.S, 0)
|
||||||
|
|
||||||
|
-- primo posizionamento
|
||||||
|
local MyZHome = EgtGetAxisHomePos( 'Z')
|
||||||
|
local bZmax = ( #EMT.AUXSTR > 0 or EMT.TOOL ~= EMT.PREVTOOL or EMT.L3 > -1)
|
||||||
|
-- se avevo motosega, torno in zona sicura senza ruotare assi rotanti
|
||||||
|
if not EMT.LOAD and EMT.PREVHEAD == 'H3' and EMT.FLAG2 == 1 then
|
||||||
|
local sOutPreMove = 'G101' .. ' X' .. EmtLenToString( -SafeXRotAxes, 3) .. ' Z' .. EmtLenToString( MyZHome, 3) ..
|
||||||
|
' B' .. EmtLenToString( EMT.R2pp, 3) .. ' C' .. EmtLenToString( EMT.R1pp, 3) ..
|
||||||
|
' EE' .. EgtIf( bZmax, '3', '4') .. EMT.PREVsEL .. EMT.PREVsER .. EMT.PREVsET .. EMT.PREVsES
|
||||||
|
EmtOutput( sOutPreMove)
|
||||||
|
sOutPreMove = 'G101' .. ' X' .. EmtLenToString( -SafeXRotAxes, 3) .. ' Z' .. EmtLenToString( MyZHome, 3) ..
|
||||||
|
' B' .. EgtNumToString( 0, 3) .. ' C' .. EgtNumToString( EMT.R1, 3) .. sEE .. sEL .. sER .. sET .. sES
|
||||||
|
EmtOutput( sOutPreMove)
|
||||||
|
EmtOutput( 'G101 ET1001')
|
||||||
|
EmtOutput( 'G101 ET2001')
|
||||||
|
end
|
||||||
|
|
||||||
|
if not EMT.LOAD then
|
||||||
|
local sOut = string.gsub( string.gsub( EMT.MCHNAME..'/'..EMT.TOOL, '%(', '-'), '%)', '-')
|
||||||
|
EmtOutput( '( *** ' .. sOut .. ' *** )')
|
||||||
|
end
|
||||||
|
|
||||||
-- se carico motosega, ruoto in zona sicura prima di approcciare la lavorazione
|
-- se carico motosega, ruoto in zona sicura prima di approcciare la lavorazione
|
||||||
if not EMT.LOAD and ( EMT.HEAD == 'H3' or ( bZmax and EMT.TTOTLEN > 200)) and
|
if not EMT.LOAD and ( EMT.HEAD == 'H3' or ( bZmax and EMT.TTOTLEN > 200)) and
|
||||||
( EMT.ST > BeamHeightForFixRot or ( EMT.HEAD == 'H1' and EMT.TTOTLEN > 350) or bGoToHome) and EMT.FLAG2 == 1 then
|
( EMT.ST > BeamHeightForFixRot or ( EMT.HEAD == 'H1' and EMT.TTOTLEN > 350) or bGoToHome) and EMT.FLAG2 == 1 then
|
||||||
|
|||||||
@@ -669,12 +669,17 @@ function OnRapid()
|
|||||||
local MyZHome = EgtGetAxisHomePos( 'Z')
|
local MyZHome = EgtGetAxisHomePos( 'Z')
|
||||||
local bZmax = ( #EMT.AUXSTR > 0 or EMT.TOOL ~= EMT.PREVTOOL or EMT.L3 > -1)
|
local bZmax = ( #EMT.AUXSTR > 0 or EMT.TOOL ~= EMT.PREVTOOL or EMT.L3 > -1)
|
||||||
-- se avevo motosega, torno in zona sicura senza ruotare assi rotanti
|
-- se avevo motosega, torno in zona sicura senza ruotare assi rotanti
|
||||||
if not EMT.LOAD and EMT.PREVHEAD == 'H3' and ( EMT.ST > BeamHeightForFixRot or bGoToHome) and EMT.FLAG2 == 1 then
|
if not EMT.LOAD and EMT.PREVHEAD == 'H3' and EMT.FLAG2 == 1 then
|
||||||
local sOutPreMove = 'M101 P1=1' .. ' P2=' .. EmtLenToString( -SafeXRotAxes, EMT.DECMACRO) .. ' P3=' .. EmtLenToString( MyZHome, EMT.DECMACRO) ..
|
local sOutPreMove = 'M101 P1=1' .. ' P2=' .. EmtLenToString( -SafeXRotAxes, EMT.DECMACRO) .. ' P3=' .. EmtLenToString( MyZHome, EMT.DECMACRO) ..
|
||||||
' P4=' .. EgtNumToString( EMT.R2pp, EMT.DECMACRO) .. ' P5=' .. EgtNumToString( EMT.R1pp, EMT.DECMACRO) ..
|
' P4=' .. EgtNumToString( EMT.R2pp, EMT.DECMACRO) .. ' P5=' .. EgtNumToString( EMT.R1pp, EMT.DECMACRO) ..
|
||||||
' P6=' .. EgtNumToString( EMT.PREVTCPOS, EMT.DECMACRO) .. ' P7=' .. EgtNumToString( EMT.PREVS, 0) ..
|
' P6=' .. EgtNumToString( EMT.PREVTCPOS, EMT.DECMACRO) .. ' P7=' .. EgtNumToString( EMT.PREVS, 0) ..
|
||||||
' P8=0' .. ' P9=0' .. ' P10=' .. EgtIf( bZmax, '3', '4')
|
' P8=0' .. ' P9=0' .. ' P10=' .. EgtIf( bZmax, '3', '4')
|
||||||
EmtOutput( sOutPreMove)
|
EmtOutput( sOutPreMove)
|
||||||
|
sOutPreMove = 'M101 P1=1' .. ' P2=' .. EmtLenToString( -SafeXRotAxes, EMT.DECMACRO) .. ' P3=' .. EmtLenToString( MyZHome, EMT.DECMACRO) ..
|
||||||
|
' P4=' .. EgtNumToString( 0, EMT.DECMACRO) .. ' P5=' .. EgtNumToString( EMT.R1pp, EMT.DECMACRO) ..
|
||||||
|
' P6=' .. AdjustTcPos( false) .. ' P7=' .. EgtNumToString( EMT.S, 0) ..
|
||||||
|
' P8=0' .. ' P9=0' .. ' P10=' .. EgtIf( bZmax, '3', '4')
|
||||||
|
EmtOutput( sOutPreMove)
|
||||||
EmtOutput( 'M101 P1=2')
|
EmtOutput( 'M101 P1=2')
|
||||||
EmtOutput( 'M101 P1=3')
|
EmtOutput( 'M101 P1=3')
|
||||||
end
|
end
|
||||||
|
|||||||
+16
-16
@@ -556,9 +556,9 @@ function OnSimulToolDeselect()
|
|||||||
-- movimento scarico sega a catena
|
-- movimento scarico sega a catena
|
||||||
if EMT.HEAD == 'H3' then
|
if EMT.HEAD == 'H3' then
|
||||||
-- se avevo motosega, torno in zona sicura senza ruotare assi rotanti
|
-- se avevo motosega, torno in zona sicura senza ruotare assi rotanti
|
||||||
if EMT.HT > BeamHeightForFixRot then
|
SimulMoveAxis( 'X', SafeXRotAxes, MCH_SIM_STEP.RAPID)
|
||||||
SimulMoveAxis( 'X', SafeXRotAxes, MCH_SIM_STEP.RAPID)
|
-- raddrizzo asse B prima di ruotare il C
|
||||||
end
|
SimulMoveAxis( 'B', 0, MCH_SIM_STEP.COLLROT)
|
||||||
local dPosA = EgtGetAxisPos( 'A')
|
local dPosA = EgtGetAxisPos( 'A')
|
||||||
if abs( dPosA) < 0.1 then
|
if abs( dPosA) < 0.1 then
|
||||||
SimulMoveAxes( 'B', 0, MCH_SIM_STEP.COLLROT, 'C', EgtIf( BD.RIGHT_LOAD, -180, 0), MCH_SIM_STEP.COLLROT)
|
SimulMoveAxes( 'B', 0, MCH_SIM_STEP.COLLROT, 'C', EgtIf( BD.RIGHT_LOAD, -180, 0), MCH_SIM_STEP.COLLROT)
|
||||||
@@ -803,14 +803,14 @@ function OnSimulMoveStart()
|
|||||||
EMT.MCHFIRST = false
|
EMT.MCHFIRST = false
|
||||||
local bZmax = ( EMT.TOOL ~= EMT.PREVTOOL or EMT.L3 > -1)
|
local bZmax = ( EMT.TOOL ~= EMT.PREVTOOL or EMT.L3 > -1)
|
||||||
-- con pezzi alti aggiorno gli assi rotanti prima di muovermi sopra il pezzo
|
-- con pezzi alti aggiorno gli assi rotanti prima di muovermi sopra il pezzo
|
||||||
if not EMT.LOAD and EMT.MOVE == 0 and ( EMT.HT > BeamHeightForFixRot or ( EMT.HEAD == 'H1' and EMT.TOTLEN > 350) or bGoToHome) and EMT.FLAG2 == 1 then
|
if not EMT.LOAD and EMT.MOVE == 0 and ( EMT.HEAD == 'H3' or ( EMT.HEAD == 'H1' and EMT.TOTLEN > 350) or bGoToHome) and EMT.FLAG2 == 1 then
|
||||||
-- se motosega mi muovo a X di sicurezza per ruotare, prima si raddrizza B e poi C in posizione
|
-- se motosega mi muovo a X di sicurezza per ruotare, prima si raddrizza B e poi C in posizione
|
||||||
if EMT.HEAD == 'H3' and bGoToHome then
|
if EMT.HEAD == 'H3' or bGoToHome then
|
||||||
SimulMoveAxis( 'X', SafeXRotAxes, MCH_SIM_STEP.RAPID)
|
SimulMoveAxis( 'X', SafeXRotAxes, MCH_SIM_STEP.RAPID)
|
||||||
SimulMoveAxis( 'B', 0, MCH_SIM_STEP.COLLROT)
|
SimulMoveAxis( 'B', 0, MCH_SIM_STEP.COLLROT)
|
||||||
SimulMoveAxis( 'C', EMT.R1, MCH_SIM_STEP.COLLROT)
|
SimulMoveAxis( 'C', EMT.R1, MCH_SIM_STEP.COLLROT)
|
||||||
SimulMoveAxis( 'B', EMT.R2, MCH_SIM_STEP.COLLROT)
|
SimulMoveAxis( 'B', EMT.R2, MCH_SIM_STEP.COLLROT)
|
||||||
elseif ( EMT.HEAD == 'H3' or ( bZmax and EMT.TOTLEN > 200)) then
|
elseif ( bZmax and EMT.TOTLEN > 200) then
|
||||||
SimulMoveAxes( 'X', SafeXRotAxes, MCH_SIM_STEP.RAPID, 'C', EMT.R1, MCH_SIM_STEP.COLLROT, 'B', EMT.R2, MCH_SIM_STEP.COLLROT)
|
SimulMoveAxes( 'X', SafeXRotAxes, MCH_SIM_STEP.RAPID, 'C', EMT.R1, MCH_SIM_STEP.COLLROT, 'B', EMT.R2, MCH_SIM_STEP.COLLROT)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -1211,11 +1211,11 @@ end
|
|||||||
-- *** ESTIMATION T&L ***
|
-- *** ESTIMATION T&L ***
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
local ESTIMATION_RAPID_COEFF = EstimationRapidMultiplier or 1
|
local ESTIMATION_RAPID_COEFF = EstimationRapidMultiplier or 1
|
||||||
local RAPID_X_FEED = 75000 / ESTIMATION_RAPID_COEFF -- mm/min
|
local RAPID_X_FEED = 100000 / ESTIMATION_RAPID_COEFF -- mm/min
|
||||||
local RAPID_Y_FEED = 100000 / ESTIMATION_RAPID_COEFF -- mm/min
|
local RAPID_Y_FEED = 100000 / ESTIMATION_RAPID_COEFF -- mm/min
|
||||||
local RAPID_Z_FEED = 50000 / ESTIMATION_RAPID_COEFF -- mm/min
|
local RAPID_Z_FEED = 100000 / ESTIMATION_RAPID_COEFF -- mm/min
|
||||||
local RAPID_C_FEED = 15000 / ESTIMATION_RAPID_COEFF -- deg/min
|
local RAPID_C_FEED = 12000 / ESTIMATION_RAPID_COEFF -- deg/min
|
||||||
local RAPID_B_FEED = 15000 / ESTIMATION_RAPID_COEFF -- deg/min
|
local RAPID_B_FEED = 12000 / ESTIMATION_RAPID_COEFF -- deg/min
|
||||||
local RAPID_MIN_T = 0.1 * ESTIMATION_RAPID_COEFF -- s
|
local RAPID_MIN_T = 0.1 * ESTIMATION_RAPID_COEFF -- s
|
||||||
local LOAD_T = 2 * ESTIMATION_RAPID_COEFF -- s
|
local LOAD_T = 2 * ESTIMATION_RAPID_COEFF -- s
|
||||||
local CHAR_ONE_MOVE_T = 1 * ESTIMATION_RAPID_COEFF -- s
|
local CHAR_ONE_MOVE_T = 1 * ESTIMATION_RAPID_COEFF -- s
|
||||||
@@ -1525,15 +1525,15 @@ function OnEstimRapid()
|
|||||||
EMT.MCHEXTLEN = EMT.MCHEXTLEN + dLen
|
EMT.MCHEXTLEN = EMT.MCHEXTLEN + dLen
|
||||||
-- calcolo tempo
|
-- calcolo tempo
|
||||||
local dTime = RAPID_MIN_T
|
local dTime = RAPID_MIN_T
|
||||||
local dT1 = CalcMoveTime( abs( dL1), RAPID_X_FEED, EMT.SPLIT)
|
local dT1 = CalcMoveTime( abs( dL1), EMT.FMAXPINZE, EMT.SPLIT)
|
||||||
if dT1 > dTime then dTime = dT1 end
|
if dT1 > dTime then dTime = dT1 end
|
||||||
local dT2 = CalcMoveTime( abs( dL2), EMT.FMAXPINZE, EMT.SPLIT)
|
local dT2 = abs( dL2) / ( RAPID_X_FEED / 60) -- CalcMoveTime( abs( dL2), RAPID_X_FEED, EMT.SPLIT)
|
||||||
if dT2 > dTime then dTime = dT2 end
|
if dT2 > dTime then dTime = dT2 end
|
||||||
local dT3 = CalcMoveTime( abs( dL3), RAPID_Z_FEED, EMT.SPLIT)
|
local dT3 = abs( dL3) / ( RAPID_Z_FEED * 60) -- CalcMoveTime( abs( dL3), RAPID_Z_FEED, EMT.SPLIT)
|
||||||
if dT3 > dTime then dTime = dT3 end
|
if dT3 > dTime then dTime = dT3 end
|
||||||
local dT4 = abs( dR1) / RAPID_C_FEED * 60
|
local dT4 = abs( dR1) / ( RAPID_C_FEED / 60)
|
||||||
if dT4 > dTime then dTime = dT4 end
|
if dT4 > dTime then dTime = dT4 end
|
||||||
local dT5 = abs( dR2) / RAPID_B_FEED * 60
|
local dT5 = abs( dR2) / ( RAPID_B_FEED / 60)
|
||||||
if dT5 > dTime then dTime = dT5 end
|
if dT5 > dTime then dTime = dT5 end
|
||||||
EMT.MCHEXTTIME = EMT.MCHEXTTIME + dTime
|
EMT.MCHEXTTIME = EMT.MCHEXTTIME + dTime
|
||||||
EgtOutLog( string.format( ' G0 Len=%.0f Rot=%.0f° Time=%.2f', dLen, abs( dR1) + abs( dR2), dTime), 5)
|
EgtOutLog( string.format( ' G0 Len=%.0f Rot=%.0f° Time=%.2f', dLen, abs( dR1) + abs( dR2), dTime), 5)
|
||||||
@@ -1551,7 +1551,7 @@ function OnEstimLinear()
|
|||||||
local dLen = sqrt( dL1 * dL1 + dL2 * dL2 + dL3 * dL3)
|
local dLen = sqrt( dL1 * dL1 + dL2 * dL2 + dL3 * dL3)
|
||||||
EMT.MCHCUTLEN = EMT.MCHCUTLEN + dLen
|
EMT.MCHCUTLEN = EMT.MCHCUTLEN + dLen
|
||||||
-- calcolo tempo
|
-- calcolo tempo
|
||||||
local dTime = CalcMoveTime( dLen, EMT.F, EMT.SPLIT)
|
local dTime = dLen / ( EMT.F / 60) -- CalcMoveTime( dLen, EMT.F, EMT.SPLIT)
|
||||||
EMT.MCHCUTTIME = EMT.MCHCUTTIME + dTime
|
EMT.MCHCUTTIME = EMT.MCHCUTTIME + dTime
|
||||||
EgtOutLog( string.format( ' G1 Len=%.0f Time=%.2f', dLen, dTime), 5)
|
EgtOutLog( string.format( ' G1 Len=%.0f Time=%.2f', dLen, dTime), 5)
|
||||||
-- aggiorno valori come precedenti
|
-- aggiorno valori come precedenti
|
||||||
|
|||||||
+33
-30
@@ -24,8 +24,8 @@
|
|||||||
require( 'EmtGenerator')
|
require( 'EmtGenerator')
|
||||||
EgtEnableDebug( false)
|
EgtEnableDebug( false)
|
||||||
|
|
||||||
PP_VER = '2.7j1_DEV1'
|
PP_VER = '2.7k4_DEV1'
|
||||||
PP_NVER = '2.7.9.4'
|
PP_NVER = '2.7.11.4'
|
||||||
MIN_MACH_VER = '2.7j1'
|
MIN_MACH_VER = '2.7j1'
|
||||||
MACH_NAME = string.match( EgtGetCurrMachineDir(), "[^\\]+$") -- si ricava il nome della macchina dal direttorio
|
MACH_NAME = string.match( EgtGetCurrMachineDir(), "[^\\]+$") -- si ricava il nome della macchina dal direttorio
|
||||||
|
|
||||||
@@ -565,13 +565,6 @@ if SecondToolChanger then
|
|||||||
TDir = X_AX(),
|
TDir = X_AX(),
|
||||||
ADir = -Y_AX(),
|
ADir = -Y_AX(),
|
||||||
Geo = 'BASE/T28'}
|
Geo = 'BASE/T28'}
|
||||||
EmtTcPos {
|
|
||||||
Name = 'T101',
|
|
||||||
Parent = 'Base',
|
|
||||||
Pos = Point3d( -510.4, 113.2, -1160.8),
|
|
||||||
TDir = X_AX(),
|
|
||||||
ADir = Z_AX(),
|
|
||||||
Geo = 'BASE/T101S'}
|
|
||||||
else
|
else
|
||||||
if not SpecialBH then
|
if not SpecialBH then
|
||||||
EmtTcPos {
|
EmtTcPos {
|
||||||
@@ -581,14 +574,6 @@ else
|
|||||||
TDir = X_AX(),
|
TDir = X_AX(),
|
||||||
ADir = Z_AX(),
|
ADir = Z_AX(),
|
||||||
Geo = 'BASE/T101'}
|
Geo = 'BASE/T101'}
|
||||||
else
|
|
||||||
EmtTcPos {
|
|
||||||
Name = 'T101',
|
|
||||||
Parent = 'Base',
|
|
||||||
Pos = Point3d( -510.4, 113.2, -1160.8),
|
|
||||||
TDir = X_AX(),
|
|
||||||
ADir = Z_AX(),
|
|
||||||
Geo = 'BASE/T101S'}
|
|
||||||
end
|
end
|
||||||
if SecondSupport == 1 then
|
if SecondSupport == 1 then
|
||||||
-- supporto per punta
|
-- supporto per punta
|
||||||
@@ -609,19 +594,6 @@ else
|
|||||||
ADir = Z_AX(),
|
ADir = Z_AX(),
|
||||||
Geo = 'BASE/T111M'}
|
Geo = 'BASE/T111M'}
|
||||||
EgtSetInfo( TcpSsId, 'Mortiser', true)
|
EgtSetInfo( TcpSsId, 'Mortiser', true)
|
||||||
elseif SecondSupport == 3 then
|
|
||||||
-- supporto per rinvio angolare
|
|
||||||
local TcpSsId = EmtTcPos {
|
|
||||||
Name = 'T91',
|
|
||||||
Parent = 'Base',
|
|
||||||
ExitNbr = 2,
|
|
||||||
Pos1 = Point3d( -710.4-150, 113.2, -329.8-170),
|
|
||||||
TDir1 = X_AX(),
|
|
||||||
Pos2 = Point3d( -710.4+150, 113.2, -329.8-170),
|
|
||||||
TDir2 = -X_AX(),
|
|
||||||
ADir = Z_AX(),
|
|
||||||
Geo = 'BASE/T91',
|
|
||||||
Aux = 'BASE/T91_HS'}
|
|
||||||
end
|
end
|
||||||
if SpecialBH then
|
if SpecialBH then
|
||||||
EmtTcPos {
|
EmtTcPos {
|
||||||
@@ -633,6 +605,37 @@ else
|
|||||||
Geo = 'BASE/T111S'}
|
Geo = 'BASE/T111S'}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
-- motosega in caso di magazzino 2 o SpecialBH
|
||||||
|
if SpecialBH or SecondToolChanger then
|
||||||
|
local TcpSsId = EmtTcPos {
|
||||||
|
Name = 'T101',
|
||||||
|
Parent = 'Base',
|
||||||
|
Pos = Point3d( -510.4, 113.2, -1160.8),
|
||||||
|
TDir = X_AX(),
|
||||||
|
ADir = Z_AX(),
|
||||||
|
Geo = 'BASE/T101S'}
|
||||||
|
-- spostamento in caso di magazzino 2
|
||||||
|
if SecondToolChanger then
|
||||||
|
EgtMove( TcpSsId, Vector3d( 0, 0, 140), GDB_RT.GLOB)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if SecondSupport == 3 then
|
||||||
|
-- supporto per rinvio angolare
|
||||||
|
local TcpSsId = EmtTcPos {
|
||||||
|
Name = 'T91',
|
||||||
|
Parent = 'Base',
|
||||||
|
ExitNbr = 2,
|
||||||
|
Pos1 = Point3d( -710.4-150, 113.2, -329.8-170),
|
||||||
|
TDir1 = X_AX(),
|
||||||
|
Pos2 = Point3d( -710.4+150, 113.2, -329.8-170),
|
||||||
|
TDir2 = -X_AX(),
|
||||||
|
ADir = Z_AX(),
|
||||||
|
Geo = 'BASE/T91',
|
||||||
|
Aux = 'BASE/T91_HS'}
|
||||||
|
if SecondToolChanger then
|
||||||
|
EgtMove( TcpSsId, Vector3d( 0, 0, -900), GDB_RT.GLOB)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- Aggiusto posizioni geometriche
|
-- Aggiusto posizioni geometriche
|
||||||
local vtMove = Vector3d( 0, ( DeltaTabY - 913.16), ( DeltaTabZ + 830.037))
|
local vtMove = Vector3d( 0, ( DeltaTabY - 913.16), ( DeltaTabZ + 830.037))
|
||||||
|
|||||||
Binary file not shown.
+1
-1
@@ -22,7 +22,7 @@
|
|||||||
4=l,MaxOptSize,0
|
4=l,MaxOptSize,0
|
||||||
|
|
||||||
[Mortising]
|
[Mortising]
|
||||||
0=d,MaxElev,0
|
0=l,MaxElev,0
|
||||||
|
|
||||||
[Chiseling]
|
[Chiseling]
|
||||||
|
|
||||||
|
|||||||
@@ -51,6 +51,9 @@ if IsTC2Active then
|
|||||||
{Pos = "Pos19", TcPos = "T26", Head = "H1", Group = "G3"},
|
{Pos = "Pos19", TcPos = "T26", Head = "H1", Group = "G3"},
|
||||||
{Pos = "Pos20", TcPos = "T27", Head = "H1", Group = "G3"},
|
{Pos = "Pos20", TcPos = "T27", Head = "H1", Group = "G3"},
|
||||||
{Pos = "Pos21", TcPos = "T28", Head = "H1", Group = "G3"}}
|
{Pos = "Pos21", TcPos = "T28", Head = "H1", Group = "G3"}}
|
||||||
|
if EgtGetHeadId( 'H5') then
|
||||||
|
table.insert( PositionTableTC2, {Pos = "Pos22", TcPos = "T91", Head = "H5", Group = "G2"})
|
||||||
|
end
|
||||||
EgtJoinTables( PositionTable, PositionTableTC2)
|
EgtJoinTables( PositionTable, PositionTableTC2)
|
||||||
else
|
else
|
||||||
local SecSuppId = EgtGetTcPosId( 'T111')
|
local SecSuppId = EgtGetTcPosId( 'T111')
|
||||||
|
|||||||
+18
-18
@@ -6,38 +6,38 @@
|
|||||||
|
|
||||||
[DRILL_STD]
|
[DRILL_STD]
|
||||||
0=th,TH,
|
0=th,TH,
|
||||||
1=d,STEP
|
1=l,STEP
|
||||||
2=s,DOUBLE
|
2=tl,DOUBLE
|
||||||
|
|
||||||
[SAW_STD]
|
[SAW_STD]
|
||||||
0=th,TH,
|
0=th,TH,
|
||||||
1=d,STEP
|
1=l,STEP
|
||||||
2=d,SIDESTEP
|
2=l,SIDESTEP
|
||||||
3=b,LONGCUT
|
3=b,LONGCUT
|
||||||
|
|
||||||
[SAW_FLAT]
|
[SAW_FLAT]
|
||||||
0=th,TH,
|
0=th,TH,
|
||||||
1=d,STEP
|
1=l,STEP
|
||||||
2=d,SIDESTEP
|
2=l,SIDESTEP
|
||||||
3=b,LONGCUT
|
3=b,LONGCUT
|
||||||
|
|
||||||
[MILL_STD]
|
[MILL_STD]
|
||||||
0=th,TH,
|
0=th,TH,
|
||||||
1=d,STEP
|
1=l,STEP
|
||||||
2=d,SIDESTEP
|
2=l,SIDESTEP
|
||||||
3=d,SIDEDEPTH
|
3=l,SIDEDEPTH
|
||||||
4=s,DOUBLE
|
4=tl,DOUBLE
|
||||||
5=dr,TOOL_OVERHANG
|
5=lr,TOOL_OVERHANG
|
||||||
|
|
||||||
[MILL_NOTIP]
|
[MILL_NOTIP]
|
||||||
0=th,TH,
|
0=th,TH,
|
||||||
1=d,STEP
|
1=l,STEP
|
||||||
2=d,SIDESTEP
|
2=l,SIDESTEP
|
||||||
3=d,SIDEDEPTH
|
3=l,SIDEDEPTH
|
||||||
4=s,DOUBLE
|
4=tl,DOUBLE
|
||||||
5=dr,TOOL_OVERHANG
|
5=lr,TOOL_OVERHANG
|
||||||
|
|
||||||
[MORTISE_STD]
|
[MORTISE_STD]
|
||||||
0=b,MORTISE
|
0=b,MORTISE
|
||||||
1=d,STEP
|
1=l,STEP
|
||||||
2=d,SIDESTEP
|
2=l,SIDESTEP
|
||||||
|
|||||||
@@ -1,5 +1,18 @@
|
|||||||
==== Common_FAST Update Log ====
|
==== Common_FAST Update Log ====
|
||||||
|
|
||||||
|
Versione 2.7-- (19/11/2025)
|
||||||
|
- (EST) Modifiche a calcolo stima tempi, da verificare.
|
||||||
|
|
||||||
|
Versione 2.7k1 (10/11/2025)
|
||||||
|
- (GEN) Corretto set variabili info utensile prima del movimento in home in caso di pezzi alti per NUM/NUM_PLUS.
|
||||||
|
|
||||||
|
Versione 2.7j2 (08/10/2025)
|
||||||
|
- (SIM-GEN) Quando si scarica motosega, si raddrizza prima l'asse B e poi si muove il C. Ora sempre e non solo se pezzo alto.
|
||||||
|
|
||||||
|
Versione 2.7j1 (06/10/2025)
|
||||||
|
- (SIM-GEN) Quando si scarica motosega, si raddrizza prima l'asse B e poi si muove il C.
|
||||||
|
- (MLDE-SIM) Controllo collisione tra utensile e TOP testa C. Serve CAM5 2.7j1
|
||||||
|
|
||||||
Versione 2.7i3 (23/09/2025)
|
Versione 2.7i3 (23/09/2025)
|
||||||
- (MLDE-ALL) Spostate costanti dimensioni utensili in MLDE.
|
- (MLDE-ALL) Spostate costanti dimensioni utensili in MLDE.
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
local InfoCommon_STD_PP = {
|
local InfoCommon_STD_PP = {
|
||||||
NAME = 'Common_FAST', -- nome script PP standard
|
NAME = 'Common_FAST', -- nome script PP standard
|
||||||
VERSION = '2.7i3', -- versione script
|
VERSION = '2.7--', -- versione script
|
||||||
MIN_MACH_VER_PP_COMMON = '2.5k1' -- versione minima kernel
|
MIN_MACH_VER_PP_COMMON = '2.5k1' -- versione minima kernel
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user