Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| aea3cf168f | |||
| 118298e841 | |||
| ffeedc5fd6 | |||
| 7686361567 | |||
| 6ac9b67b8d |
+26
-24
@@ -514,26 +514,6 @@ function OnSimulToolSelect( dPosA)
|
||||
local nInd = EgtIf( nSetHead ~= 2, 1001, 1011)
|
||||
AddToolToCollisionObj( EMT.TOOL, EMT.HEAD, EMT.EXIT, nInd, true)
|
||||
AddToolHolderToCollisionObj( EMT.TOOL, EMT.HEAD, EMT.EXIT, nInd + 1)
|
||||
|
||||
if nSetHead ~= 1 and ( EMT.PREVTOOL_H1 and EMT.PREVHEAD_H1) then
|
||||
local nPrevExit_H1 = 1
|
||||
local nInd_H1 = 1001
|
||||
AddToolToCollisionObj( EMT.PREVTOOL_H1, EMT.PREVHEAD_H1, nPrevExit_H1, nInd_H1, false)
|
||||
AddToolHolderToCollisionObj( EMT.PREVTOOL_H1, EMT.PREVHEAD_H1, nPrevExit_H1, nInd_H1 + 1)
|
||||
end
|
||||
if nSetHead ~= 2 and ( EMT.PREVTOOL_H2 and EMT.PREVHEAD_H2) then
|
||||
local nPrevExit_H2 = 1
|
||||
local nInd_H2 = 1011
|
||||
AddToolToCollisionObj( EMT.PREVTOOL_H2, EMT.PREVHEAD_H2, nPrevExit_H2, nInd_H2, false)
|
||||
AddToolHolderToCollisionObj( EMT.PREVTOOL_H2, EMT.PREVHEAD_H2, nPrevExit_H2, nInd_H2 + 1)
|
||||
end
|
||||
if nSetHead ~= 3 and EgtGetHeadId( 'H31') then
|
||||
local nPrevExit_H3 = 1
|
||||
local nInd_H3 = 1001
|
||||
AddToolToCollisionObj( nil, 'H31', nPrevExit_H3, 1001)
|
||||
AddToolHolderToCollisionObj( nil, 'H31', nPrevExit_H3, 1002)
|
||||
end
|
||||
|
||||
for i, Coll in ipairs( EMT.COLLOBJ or {}) do
|
||||
EmtAddCollisionObjEx( i, Coll.Fr, Coll.Ty, Coll.Mv, Coll.P1, Coll.P2, Coll.P3)
|
||||
end
|
||||
@@ -746,6 +726,27 @@ function OnSimulMachiningStart()
|
||||
EmtSetLastError( 1211, 'Missing or not active double tool of '..sOldTool)
|
||||
end
|
||||
EgtTdbSetCurrTool( sOldTool)
|
||||
else
|
||||
-- recupero il gruppo
|
||||
local nSetHead = GetHeadSet( EMT.HEAD)
|
||||
if nSetHead ~= 1 and ( EMT.PREVTOOL_H1 and EMT.PREVHEAD_H1) then
|
||||
local nPrevExit_H1 = 1
|
||||
local nInd_H1 = 1001
|
||||
AddToolToCollisionObj( EMT.PREVTOOL_H1, EMT.PREVHEAD_H1, nPrevExit_H1, nInd_H1, true)
|
||||
AddToolHolderToCollisionObj( EMT.PREVTOOL_H1, EMT.PREVHEAD_H1, nPrevExit_H1, nInd_H1 + 1)
|
||||
end
|
||||
if nSetHead ~= 2 and ( EMT.PREVTOOL_H2 and EMT.PREVHEAD_H2) then
|
||||
local nPrevExit_H2 = 1
|
||||
local nInd_H2 = 1011
|
||||
AddToolToCollisionObj( EMT.PREVTOOL_H2, EMT.PREVHEAD_H2, nPrevExit_H2, nInd_H2, true)
|
||||
AddToolHolderToCollisionObj( EMT.PREVTOOL_H2, EMT.PREVHEAD_H2, nPrevExit_H2, nInd_H2 + 1)
|
||||
end
|
||||
if nSetHead ~= 3 and EgtGetHeadId( 'H31') then
|
||||
local nPrevExit_H3 = 1
|
||||
local nInd_H3 = 1001
|
||||
AddToolToCollisionObj( nil, 'H31', nPrevExit_H3, 1001)
|
||||
AddToolHolderToCollisionObj( nil, 'H31', nPrevExit_H3, 1002)
|
||||
end
|
||||
end
|
||||
-- se precedente in doppio ma ora solo testa 1 e non in sicurezza
|
||||
if EMT.DOU_TO_ZMAX then
|
||||
@@ -1913,7 +1914,7 @@ function LoadFirstTool( nHSet, sTcPosDef)
|
||||
if nHSet ~= 1 and nHSet ~= 2 then return end
|
||||
EgtUnloadTool( EgtIf( nHSet == 1, 'H11', 'H21'), 1)
|
||||
if GetHeadSetFromTcPos( sTcPosDef) ~= nHSet then return end
|
||||
local sTool, sHead, sTcPos, sTTotLen, sBlockedAxis = FindFirstToolOnHeadSet( nHSet)
|
||||
local sTool, sHead, sTcPos, sTTotLen, sTotDiam, sBlockedAxis = FindFirstToolOnHeadSet( nHSet)
|
||||
if not sTool then
|
||||
local vTools = EgtGetToolsInCurrSetupPos( sTcPosDef)
|
||||
if vTools and vTools[1] then
|
||||
@@ -1925,7 +1926,7 @@ function LoadFirstTool( nHSet, sTcPosDef)
|
||||
if sTool then
|
||||
-- imposto correttamente i dati di testa
|
||||
local OrigEMC = EMC
|
||||
EMC = { HEAD = sHead, TOOL = sTool, TCPOS = sTcPos, TOTLEN = sTTotLen, BLOCKEDAXIS = sBlockedAxis}
|
||||
EMC = { HEAD = sHead, TOOL = sTool, TCPOS = sTcPos, TOTLEN = sTTotLen, TOTDIAM = sTotDiam, BLOCKEDAXIS = sBlockedAxis}
|
||||
OnSetHead()
|
||||
EMC = OrigEMC
|
||||
if sBlockedAxis then
|
||||
@@ -2364,7 +2365,7 @@ function FindFirstToolOnHeadSet( nHSet)
|
||||
local CurrMachId = EgtGetCurrMachining()
|
||||
local CurrTool = EgtTdbGetCurrToolParam( MCH_TP.NAME)
|
||||
-- cerco lavorazione con utensile su gruppo testa indicato
|
||||
local sTool, sHead, sTcPos, sTTotLen, sBlockedAxis
|
||||
local sTool, sHead, sTcPos, sTTotLen, sTotDiam, sBlockedAxis
|
||||
local OpId = EgtGetFirstActiveOperation()
|
||||
while OpId do
|
||||
local nType = EgtGetOperationType( OpId)
|
||||
@@ -2382,6 +2383,7 @@ function FindFirstToolOnHeadSet( nHSet)
|
||||
end
|
||||
sTool = sTest
|
||||
sTTotLen = EgtTdbGetCurrToolParam( MCH_TP.TOTLEN)
|
||||
sTotDiam = EgtTdbGetCurrToolParam( MCH_TP.TOTDIAM)
|
||||
sBlockedAxis = EgtGetMachiningParam( MCH_MP.BLOCKEDAXIS)
|
||||
break
|
||||
end
|
||||
@@ -2394,7 +2396,7 @@ function FindFirstToolOnHeadSet( nHSet)
|
||||
EgtSetCurrMachining( CurrMachId or GDB_ID.NULL)
|
||||
EgtTdbSetCurrTool( CurrTool or '')
|
||||
-- restituisco risultato
|
||||
return sTool, sHead, sTcPos, sTTotLen, sBlockedAxis
|
||||
return sTool, sHead, sTcPos, sTTotLen, sTotDiam, sBlockedAxis
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
|
||||
+5
-1
@@ -574,7 +574,11 @@ function OnPostApplyMachining()
|
||||
|
||||
-- Verifico flag di separazione e fase di scarico
|
||||
local sNotes = EgtGetMachiningParam( MCH_MP.USERNOTES)
|
||||
local bPreSplit = ( false and sNotes:find( 'Presplit', 1, true) ~= nil)
|
||||
|
||||
-- bPreSplit sempre a falso per obbligare a pinzare il pezzo con 1 morsa anche se iniziato il taglio che dividerà grezzo e finito (in genere per sezioni grandi con 2 tagli di lama)
|
||||
-- Tra un taglio e l'altro infatti c'e' inversione del braccio e quindi un'apertura delle rulliere. Se pinzano entrambe le pinze, potrebbero esserci problemi di collisone rulli-morse
|
||||
local bPreSplit = false --( sNotes:find( 'Presplit', 1, true) ~= nil)
|
||||
|
||||
local bSplitting = ( sNotes:find( 'Split', 1, true) ~= nil)
|
||||
local bPreCut = ( sNotes:find( 'Precut', 1, true) ~= nil)
|
||||
local bCutting = ( sNotes:find( 'Cut', 1, true) ~= nil)
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
==== Common_PF1250 Update Log ====
|
||||
|
||||
Versione 2.6g5 (24/07/2024)
|
||||
- (SIM) Per OnSetHead chiamata da simulazione, aggiunta lettura TOTDIAM. Serve per limitare corse assi testa sotto. Ticket#1946
|
||||
|
||||
Versione 2.6g4 (23/07/2024)
|
||||
- (SIM) Corretta ultima modifica per controllo collisioni testa non utilizzata. Trovava collisioni in lavorazioni in doppio.
|
||||
|
||||
Versione 2.6g3 (22/07/2024)
|
||||
- (SIM) Si aggiunge al controllo collisioni anche Tool e ToolHolder della testa non utilizzata. Ticket#1937
|
||||
- (SIM-GEN) In caso di grezzo piuttosto piccolo, concesso pinzaggio fino al massimo possibile, oltre al calcolo con coefficienti. Ticket#1942
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
|
||||
local InfoCommon_STD_PP = {
|
||||
NAME = 'Common_PF1250', -- nome script PP standard
|
||||
VERSION = '2.6g3', -- versione script
|
||||
VERSION = '2.6g5', -- versione script
|
||||
MIN_MACH_VER_PP_COMMON = '2.5k1' -- versione minima kernel
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user