- in MachiningLib aggiunta InitMachiningParameters per inizializzarae i parametri della lavorazione a valori di default; FACEBYBLADE / CHAINSAW / MILL usano la nuova funzione invece di creare tabelle vuote

- tutti i riferimenti al tipo di lavorazione MCH_OY diventano MCH_MY
This commit is contained in:
luca.mazzoleni
2025-04-09 16:39:19 +02:00
parent 0c0d52afcb
commit fed75861be
9 changed files with 94 additions and 16 deletions
+85 -4
View File
@@ -482,6 +482,86 @@ function MachiningLib.FindChainSaw( Proc, ToolSearchParameters)
return ToolInfo
end
-------------------------------------------------------------------------------------------------------------
function MachiningLib.InitMachiningParameters( nMachiningType)
local Machining = {}
Machining.nType = nMachiningType
Machining.sDepth = 0
Machining.bInvert = false
Machining.nSCC = MCH_SCC.NONE
Machining.bToolInvert = false
Machining.sBlockedAxis = ''
Machining.sInitialAngles = ''
Machining.dOverlap = 0
Machining.dSideAngle = 0
Machining.dStartSafetyLength = BeamData.COLL_SIC
Machining.dRadialOffset = 0
Machining.dLongitudinalOffset = 0
Machining.sUserNotes = ''
Machining.Steps = {}
Machining.Steps.dStep = 0
Machining.Steps.dSideStep = 0
if nMachiningType == MCH_MY.MILLING then
Machining.nWorkside = MCH_MILL_WS.LEFT
Machining.nFaceuse = MCH_MILL_FU.NONE
Machining.Steps.nStepType = MCH_MILL_ST.ONEWAY
Machining.LeadIn = {}
Machining.LeadIn.nType = MCH_MILL_LI.LINEAR
Machining.LeadIn.dStartAddLength = 0
Machining.LeadIn.dTangentDistance = 0
Machining.LeadIn.dPerpDistance = 0
Machining.LeadIn.dElevation = 0
Machining.LeadIn.dCompLength = 0
Machining.LeadOut = {}
Machining.LeadOut.nType = MCH_MILL_LO.LINEAR
Machining.LeadOut.dEndAddLength = 0
Machining.LeadOut.dTangentDistance = 0
Machining.LeadOut.dPerpDistance = 0
Machining.LeadOut.dElevation = 0
Machining.LeadOut.dCompLength = 0
elseif nMachiningType == MCH_MY.MORTISING then
Machining.nWorkside = MCH_MORTISE_WS.LEFT
Machining.nFaceuse = MCH_MORTISE_FU.NONE
Machining.Steps.nStepType = MCH_MORTISE_ST.ONEWAY
Machining.LeadIn = {}
Machining.LeadIn.dStartAddLength = 0
Machining.LeadOut = {}
Machining.LeadOut.dEndAddLength = 0
elseif nMachiningType == MCH_MY.DRILLING then
Machining.dReturnPos = 0
Machining.dStartSlowLen = 0
Machining.dEndSlowLen = 0
Machining.dThrouAddLen = 5
elseif nMachiningType == MCH_MY.POCKETING then
Machining.nSubType = MCH_POCK_SUB.ONEWAY
Machining.LeadIn = {}
Machining.LeadIn.nType = MCH_POCK_LI.ZIGZAG
Machining.LeadIn.dTangentDistance = 0
Machining.LeadIn.dElevation = 0
Machining.LeadOut = {}
Machining.LeadOut.nType = MCH_POCK_LO.NONE
Machining.LeadOut.dTangentDistance = 0
elseif nMachiningType == MCH_MY.SAWING then
-- TODO da completare
Machining.nWorkside = MCH_SAW_WS.CENTER
Machining.nHeadSide = MCH_SAW_HS.LEFT
Machining.Steps.nStepType = MCH_SAW_ST.ONEWAY
Machining.LeadIn.nType = MCH_SAW_LI.CENT
Machining.LeadOut.nType = MCH_SAW_LO.CENT
else
error( 'InitMachiningParameters : unknown machining type')
end
return Machining
end
-------------------------------------------------------------------------------------------------------------
-- salva in lista globale la lavorazione appena calcolata
local function AddNewMachining( ProcToAdd, MachiningToAdd, AuxiliaryDataToAdd)
@@ -609,7 +689,7 @@ function MachiningLib.AddOperations( vProc, Part, sRotation)
{ sName = 'nHeadSide', nMchParam = MCH_MP.HEADSIDE},
{ sName = 'nSubType', nMchParam = MCH_MP.SUBTYPE},
{ sName = 'dOverlap', nMchParam = MCH_MP.OVERL},
{ sName = 'nStepType', nMchParam = MCH_MP.STEPTYPE},
{ sName = 'dSideAngle', nMchParam = MCH_MP.SIDEANGLE},
{ sName = 'dStartSafetyLength', nMchParam = MCH_MP.STARTPOS},
{ sName = 'dReturnPos', nMchParam = MCH_MP.RETURNPOS},
{ sName = 'dRadialOffset', nMchParam = MCH_MP.OFFSR},
@@ -657,7 +737,8 @@ function MachiningLib.AddOperations( vProc, Part, sRotation)
{ sName = 'nOutRaw', sMchParam = 'OutRaw'},
{ sName = 'nOpenOutRaw', sMchParam = 'OpenOutRaw'},
{ sName = 'nPlunge', sMchParam = 'Plunge'},
{ sName = 'vtFaceUse', sMchParam = 'VtFaceUse'}
{ sName = 'vtFaceUse', sMchParam = 'VtFaceUse'},
{ sName = 'nEdgeFaceUse', sMchParam = 'EdgeFaceUse'}
}
-- parametri da scrivere nelle note di sistema
@@ -852,7 +933,7 @@ end
function MachiningLib.GetLengthToMachineAllStepsWithLeadInOut( Machining)
local dLengthToMachineAllStepsWithLeadInOut = 0
if Machining.nType == MCH_OY.MILLING then
if Machining.nType == MCH_MY.MILLING then
-- se non settati, imposto valori di default
if not Machining.LeadIn.dTotalEstimatedDistance then
Machining.LeadIn.dTotalEstimatedDistance = sqrt( Machining.LeadIn.dPerpDistance ^ 2 + Machining.LeadIn.dTangentDistance ^ 2) + Machining.dStartSafetyLength
@@ -870,7 +951,7 @@ function MachiningLib.GetLengthToMachineAllStepsWithLeadInOut( Machining)
else
dLengthToMachineAllStepsWithLeadInOut = Machining.CloneStepsRadial.nCount * ( Machining.dLengthToMachine + Machining.LeadIn.dTotalEstimatedDistance + Machining.LeadOut.dTotalEstimatedDistance) * Machining.Steps.nCount
end
elseif Machining.nType == MCH_OY.MORTISING then
elseif Machining.nType == MCH_MY.MORTISING then
-- se non settati, imposto valori di default
if not Machining.CloneStepsLongitudinal then
Machining.CloneStepsLongitudinal = {}