- 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:
@@ -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 = {}
|
||||
|
||||
Reference in New Issue
Block a user