Files
egwwindowlua/CAMAuto/Strategies/Profiling.lua
T
andrea.villa 66869aa0d8 - Ridefinito flusso automatismo
- Aggiunta gestion AuxInfo per gestire ordine lavorazioni
- Piccole migliorie varie
2024-06-20 16:52:11 +02:00

62 lines
2.3 KiB
Lua

-- Profiling.lua by Egalware s.r.l. 2024/06/13
-- Libreria esecuzione lavorazioni per Serramenti -> Lavorazione di profilatura
-- Tabella per definizione modulo
local Profiling = {}
-- Include
require( 'EgtBase')
-- Carico i dati globali
local WinData = require( 'WinData')
local MachiningLib = require( 'MachiningLib')
EgtOutLog( ' Profiling started', 1)
EgtMdbSave()
-------------------------------------------------------------------------------------------------------------
function Profiling.Make( Proc, Part)
local ToolInfo = {}
-- se so che utensili utilizzare, associazione diretta
if Proc.nToolsToUse then
for i = 1, Proc.nToolsToUse do
local Machining = {}
local AuxInfo = {}
Machining.LeadIn = {}
Machining.LeadOut = {}
Machining.Steps = {}
local ToolSearchParameters = {}
ToolSearchParameters.sName = Proc.Tools[i].sName
ToolSearchParameters.dElevation = 0
ToolInfo = MachiningLib.FindMill( Proc, ToolSearchParameters)
-- se trovato utensile
if ToolInfo.nToolIndex then
Machining.nType = MCH_MY.MILLING
Machining.nWorkSide = MCH_MILL_WS.RIGHT
Machining.nToolIndex = ToolInfo.nToolIndex
Machining.sDepth = 0
Machining.dRadialOffset = Proc.Tools[i].dRadialOffset
Machining.dLongitudinalOffset = Proc.Tools[i].dLongitudinalOffset
Machining.LeadIn.nType = MCH_MILL_LI.TANGENT
Machining.LeadIn.dTangentDistance = TOOLS[ToolInfo.nToolIndex].dDiameter
Machining.LeadIn.dPerpDistance = TOOLS[ToolInfo.nToolIndex].dDiameter
Machining.LeadOut.nType = MCH_MILL_LO.TANGENT
Machining.LeadOut.dTangentDistance = TOOLS[ToolInfo.nToolIndex].dDiameter
Machining.LeadOut.dPerpDistance = 0
Machining.Geometry = Proc.id
AuxInfo.nPhase = MachiningLib.GetPhaseMach( Proc)
MachiningLib.AddNewMachining( Proc, Machining, AuxInfo)
else
return false, 'Tool not found'
end
end
-- altrimenti cerco tra quelli disponibili
else
; --per il momento non serve. Le info sull'utensile arrivano sempre
end
return true
end
-------------------------------------------------------------------------------------------------------------
return Profiling