-- 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 AuxiliaryData = {} 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].dTotDiameter / 2) + 30 Machining.LeadIn.dPerpDistance = (TOOLS[ToolInfo.nToolIndex].dTotDiameter / 2) + 30 Machining.LeadOut.nType = MCH_MILL_LO.TANGENT Machining.LeadOut.dTangentDistance = (TOOLS[ToolInfo.nToolIndex].dTotDiameter / 2) + 30 Machining.LeadOut.dPerpDistance = 0 Machining.Geometry = Proc.id AuxiliaryData.bIsProfiling = true AuxiliaryData.nIndexMachining = i AuxiliaryData.nPhase = MachiningLib.GetPhaseMach( Proc) MachiningLib.AddNewMachining( Proc, Machining, AuxiliaryData) 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