Compare commits
4 Commits
2.7g5
...
Ticket#2393_b
| Author | SHA1 | Date | |
|---|---|---|---|
| bfdf80a44a | |||
| 3755521d2e | |||
| 104663a89a | |||
| e322c15099 |
@@ -794,7 +794,7 @@ function ProcessLapJoint.IsTailFeature( Proc, b3Raw)
|
||||
-- verifico se è in coda
|
||||
local dEndDist = Proc.Box:getMin():getX() - b3Solid:getMin():getX()
|
||||
if ( dEndDist > BD.MAX_DIST_HTFEA) or bUseBHSideMill then
|
||||
if not( BD.BH_MACHINE) and bUseBHSideMill and ( Proc.Box:getMax():getX() - b3Solid:getMin():getX()) < 400 then
|
||||
if not( BD.BH_MACHINE) and bUseBHSideMill and ( Proc.Box:getMax():getX() - b3Solid:getMin():getX()) < 400 and b3Solid:getDimX() > BD.LEN_VERY_SHORT_PART then
|
||||
return true
|
||||
else
|
||||
return false
|
||||
@@ -3398,6 +3398,10 @@ local function MakeAntiSplintBySaw( Proc, nFacet, vtN, b3Raw, nFacInd, bReduceDe
|
||||
end
|
||||
end
|
||||
local dExtraOffs = 0
|
||||
-- se il taglio è praticamente verticale, riduto massimo materiale lama
|
||||
if BD.DECR_VERT_CUT and vtN:getZ() > 0.985 then
|
||||
dMaxDepth = dMaxDepth - BD.DECR_VERT_CUT - BD.COLL_SIC
|
||||
end
|
||||
-- se profondità superiore al massimo lama modifico elevazione
|
||||
if dDepth > dMaxDepth then
|
||||
dExtraOffs = dMaxDepth - dDepth
|
||||
|
||||
+20
-30
@@ -33,7 +33,6 @@ local sEnableExtraBladeUpperFace = 'Q02' -- i
|
||||
local sDepthChamferMill = 'Q03' -- d
|
||||
local sOverMaterialForFinish = 'Q04' -- d
|
||||
local sPreemptiveChamfer = 'Q05' -- i
|
||||
local bUseSmallMill = 'Q06' -- i
|
||||
|
||||
-- abilitazioni extra
|
||||
local dMakeAntiSplintOnHead = 1 -- valore impronta antischeggia, per disattivare settare = nil o = 0
|
||||
@@ -208,36 +207,31 @@ local function VerifyCham( Proc, AuxId, nRawId, bMakeVertCham, sDephtCham, sOnly
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
function VerifySmallMillCanFinish( dDiamCurrentTool, dDepthProfile, nSide)
|
||||
local dToolMaxDepthSmall, dToolDiamSmall
|
||||
function VerifyOtherMillCanFinish( dDepthProfile, nSide)
|
||||
local dToolMaxDepthFinish
|
||||
-- abilitazione lavorazione da sotto
|
||||
local sMillType = 'Prof'
|
||||
local sMillingSmall, _, _, bH2Small = ML.FindMilling( sMillType, nil, nil, nil, nil, true, nil, nil, nil, 'Smallest')
|
||||
if not sMillingSmall then
|
||||
local sMillType = 'Prof_end'
|
||||
local sMillingFinish, _, _, _ = ML.FindMilling( sMillType, nil, nil, nil, nil, true, nil, nil, nil)
|
||||
if not sMillingFinish then
|
||||
return false
|
||||
end
|
||||
-- Recupero i dati dell'utensile
|
||||
if EgtMdbSetCurrMachining( sMillingSmall) then
|
||||
if EgtMdbSetCurrMachining( sMillingFinish) then
|
||||
local sTuuid = EgtMdbGetCurrMachiningParam( MCH_MP.TUUID)
|
||||
if EgtTdbSetCurrTool( EgtTdbGetToolFromUUID( sTuuid)) then
|
||||
dToolMaxDepthSmall = EgtTdbGetCurrToolMaxDepth()
|
||||
dToolDiamSmall = EgtTdbGetCurrToolParam( MCH_TP.DIAM)
|
||||
-- se non ci sono almeno 5mm di differenza si fa con utensile standard
|
||||
if dDiamCurrentTool - 5 < dToolDiamSmall then
|
||||
return false
|
||||
end
|
||||
dToolMaxDepthFinish = EgtTdbGetCurrToolMaxDepth()
|
||||
end
|
||||
else
|
||||
return false
|
||||
end
|
||||
local bDouble = ( dDepthProfile + BD.CUT_EXTRA > dToolMaxDepthSmall)
|
||||
local bDouble = ( dDepthProfile + BD.CUT_EXTRA > dToolMaxDepthFinish)
|
||||
-- se lavorazione in doppio richiesta, si verifica se richiesta testa sotto
|
||||
if bDouble and nSide == 0 then
|
||||
return false -- TODO macchine con BD.DOWN_HEAD potrebbero lavorare in doppio in questo caso!
|
||||
end
|
||||
|
||||
if not bDouble or ( dDepthProfile + BD.MILL_OVERLAP < dToolMaxDepthSmall * 2) then
|
||||
return true, sMillingSmall, bDouble
|
||||
if not bDouble or ( dDepthProfile + BD.MILL_OVERLAP < dToolMaxDepthFinish * 2) then
|
||||
return true, sMillingFinish, bDouble
|
||||
end
|
||||
return false
|
||||
end
|
||||
@@ -506,12 +500,8 @@ function ProcessProfCamb.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH)
|
||||
end
|
||||
|
||||
|
||||
local bUseSmallMillOnFinish = EgtGetInfo( Proc.Id, bUseSmallMill, 'i') == 1
|
||||
local sMillingSmall, bDoubleSmall
|
||||
-- se serve fresa più piccola per finitura
|
||||
if bUseSmallMillOnFinish then
|
||||
bUseSmallMillOnFinish, sMillingSmall, bDoubleSmall = VerifySmallMillCanFinish( dMillDiam, dProfDepth, nSide)
|
||||
end
|
||||
-- se configurata fresa di finitura
|
||||
local bUseOtherMillOnFinish, sFinishMilling, bDoubleFinishMill = VerifyOtherMillCanFinish( dProfDepth, nSide)
|
||||
|
||||
-- se il chamfer non è esclusivo continuo con le altre lavorazioni
|
||||
if nChamfer < 2 then
|
||||
@@ -608,7 +598,7 @@ function ProcessProfCamb.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH)
|
||||
nMchId = nMch2Id
|
||||
end
|
||||
-- se abilitata, aggiungo lavorazione di finitura
|
||||
if bFinish and not bUseSmallMillOnFinish then
|
||||
if bFinish and not bUseOtherMillOnFinish then
|
||||
-- inserisco la lavorazione
|
||||
local sNewName = 'ProfB_Fin_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id))
|
||||
local nMch2Id = EgtCopyMachining( sNewName, EgtGetName( nMchId))
|
||||
@@ -723,7 +713,7 @@ function ProcessProfCamb.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH)
|
||||
nMchId = nMch2Id
|
||||
end
|
||||
-- se abilitata, aggiungo lavorazione di finitura
|
||||
if bFinish and not bUseSmallMillOnFinish then
|
||||
if bFinish and not bUseOtherMillOnFinish then
|
||||
-- inserisco la lavorazione
|
||||
local sNewName = 'Prof_Fin_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id))
|
||||
local nMch2Id = EgtCopyMachining( sNewName, EgtGetName( nMchId))
|
||||
@@ -780,12 +770,12 @@ function ProcessProfCamb.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH)
|
||||
end
|
||||
end
|
||||
-- se finitura con fresa piccola
|
||||
if bFinish and bUseSmallMillOnFinish then
|
||||
local sDepthSmall = EgtIf( bDoubleSmall, ( dProfDepth+ BD.MILL_OVERLAP ) / 2, dProfDepth + BD.CUT_EXTRA)
|
||||
if bFinish and bUseOtherMillOnFinish then
|
||||
local sDepthFinishMill = EgtIf( bDoubleFinishMill, ( dProfDepth+ BD.MILL_OVERLAP ) / 2, dProfDepth + BD.CUT_EXTRA)
|
||||
local sMachName = 'Fin_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id))
|
||||
nMchId = EgtAddMachining( sMachName, sMillingSmall)
|
||||
nMchId = EgtAddMachining( sMachName, sFinishMilling)
|
||||
if not nMchId then
|
||||
local sErr = 'Error adding machining ' .. sMachName .. '-' .. sMillingSmall
|
||||
local sErr = 'Error adding machining ' .. sMachName .. '-' .. sFinishMilling
|
||||
EgtOutLog( sErr)
|
||||
return false, sErr
|
||||
end
|
||||
@@ -793,7 +783,7 @@ function ProcessProfCamb.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH)
|
||||
EgtSetMachiningGeometry( {{ AuxId, -1}})
|
||||
|
||||
-- imposto l'affondamento
|
||||
EgtSetMachiningParam( MCH_MP.DEPTH, sDepthSmall)
|
||||
EgtSetMachiningParam( MCH_MP.DEPTH, sDepthFinishMill)
|
||||
-- posizione braccio porta testa
|
||||
EgtSetMachiningParam( MCH_MP.SCC, EgtIf( bHead, MCH_SCC.ADIR_XP, MCH_SCC.ADIR_XM))
|
||||
-- eseguo
|
||||
@@ -803,7 +793,7 @@ function ProcessProfCamb.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH)
|
||||
return false, sErr
|
||||
end
|
||||
|
||||
if bDoubleSmall then
|
||||
if bDoubleFinishMill then
|
||||
local sNewName = 'FinB_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id))
|
||||
local nMch2Id = EgtCopyMachining( sNewName, EgtGetName( nMchId))
|
||||
EgtSetMachiningParam( MCH_MP.TOOLINVERT, true)
|
||||
|
||||
Reference in New Issue
Block a user