DataBeam :
- piccole correzioni varie.
This commit is contained in:
+2
-2
@@ -1,4 +1,4 @@
|
||||
-- DiceCut.lua by Egaltech s.r.l. 2021/09/10
|
||||
-- DiceCut.lua by Egaltech s.r.l. 2022/02/18
|
||||
-- Gestione dei piano paralleli nei tagli lunghi: equidistanziamento dei piani paralleli
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
@@ -474,7 +474,7 @@ function DiceCut.GetDice( nParent, BBoxRawPart, ptCPlanes, vtNPlanes, bGetOrtoPl
|
||||
if vtNInner:getZ() > -0.0175 or vtNInner:getZ() < dNzLimDwnUp or abs( vtNInner:getY()) > 0.8 then
|
||||
vtO:rotate( vtNInner, 90)
|
||||
-- se diretto troppo ortogonalmente all'asse trave e taglio non da sotto, lo ruoto ulteriormente
|
||||
if abs( vtO:getY()) > 3 * abs( vtO:getX()) and vtNInner:getZ() > dNzLimDwnUp then
|
||||
if ( abs( vtO:getY()) > 3 * abs( vtO:getX()) or BBoxRawPart:getDimZ() > 620) and vtNInner:getZ() > dNzLimDwnUp then
|
||||
vtO:rotate( vtNInner, 90)
|
||||
-- se faccia principale verso il basso (almeno -3deg), lo inverto per iniziare da sopra
|
||||
if vtNInner:getZ() < -0.05 then
|
||||
|
||||
@@ -3249,7 +3249,6 @@ local function MakePocket( Proc, nPartId, ptPs, tvtN, nFaceRef, sMchFind, nUseRo
|
||||
end
|
||||
local dCollSic = 2 * BD.COLL_SIC
|
||||
-- calcolo il diametro utensile
|
||||
local dDiamTool
|
||||
local dFaceDiamTool
|
||||
if tDimAndRef then
|
||||
-- prendo il valore dalle dimensioni minime delle facce
|
||||
@@ -3272,14 +3271,16 @@ local function MakePocket( Proc, nPartId, ptPs, tvtN, nFaceRef, sMchFind, nUseRo
|
||||
EgtOutLog( sErr)
|
||||
return false, sErr
|
||||
end
|
||||
dDiamTool = 20
|
||||
local dMaxDepth = 0
|
||||
local sTuuidPk
|
||||
local dDiamTool = 20
|
||||
local dMaxDepth = 0
|
||||
local bTipMill = false
|
||||
if EgtMdbSetCurrMachining( sPocketing) then
|
||||
sTuuidPk = EgtMdbGetCurrMachiningParam( MCH_MP.TUUID)
|
||||
if EgtTdbSetCurrTool( EgtTdbGetToolFromUUID( sTuuidPk) or '') then
|
||||
dMaxDepth = ( EgtTdbGetCurrToolMaxDepth() or dMaxDepth)
|
||||
dDiamTool = EgtTdbGetCurrToolParam( MCH_TP.DIAM)
|
||||
dDiamTool = EgtTdbGetCurrToolParam( MCH_TP.DIAM) or dDiamTool
|
||||
dMaxDepth = EgtTdbGetCurrToolMaxDepth() or dMaxDepth
|
||||
bTipMill = (( EgtTdbGetCurrToolParam( MCH_TP.TIPFEED) or 0) > 1)
|
||||
end
|
||||
end
|
||||
-- se nome svuotatura non è stato ricalcolato, confronto il diametro utensile utilizzato con il minimo faccia e se non sono compatibili esco
|
||||
@@ -3321,9 +3322,11 @@ local function MakePocket( Proc, nPartId, ptPs, tvtN, nFaceRef, sMchFind, nUseRo
|
||||
if bL and min( dH, dV) < 1.5 * dDiamTool then
|
||||
EgtSetMachiningParam( MCH_MP.SUBTYPE, MCH_POCK_SUB.ZIGZAG)
|
||||
EgtSetMachiningParam( MCH_MP.INVERT, false)
|
||||
EgtSetMachiningParam( MCH_MP.LEADINTYPE, MCH_POCK_LI.HELIX)
|
||||
EgtSetMachiningParam( MCH_MP.LITANG, dDiamTool)
|
||||
EgtSetMachiningParam( MCH_MP.LIELEV, 2)
|
||||
if not bTipMill then
|
||||
EgtSetMachiningParam( MCH_MP.LEADINTYPE, MCH_POCK_LI.HELIX)
|
||||
EgtSetMachiningParam( MCH_MP.LITANG, dDiamTool)
|
||||
EgtSetMachiningParam( MCH_MP.LIELEV, 2)
|
||||
end
|
||||
end
|
||||
end
|
||||
-- se elevazione superiore a massimo affondamento della fresa, riduco opportunamente
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
-- ProcessLongDoubleCut.lua by Egaltech s.r.l. 2022/02/08
|
||||
-- ProcessLongDoubleCut.lua by Egaltech s.r.l. 2022/02/15
|
||||
-- Gestione calcolo doppio taglio longitudinale per Travi
|
||||
-- 2021/05/18 Possibile taglio con lama anche di fianco su macchina con testa da sotto.
|
||||
-- 2021/06/29 Corretta gestione caso equivalente a due smussi.
|
||||
-- 2021/10/29 Aggiunta opzione tipo lavorazione 'LongCut'.
|
||||
-- 2021/11/08 Se con lama e flag BD.USE_LONGCUT si lavora in direzione contraria allo standard.
|
||||
-- 2022/02/08 Sistemate lunghezze fresature quando due sole.
|
||||
-- 2022/02/15 Sistemati commenti.
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local ProcessLong2Cut = {}
|
||||
@@ -1123,7 +1124,7 @@ function ProcessLong2Cut.Make( Proc, nPhase, nRawId, nPartId, bForcedBladeMaster
|
||||
end
|
||||
end
|
||||
end
|
||||
-- altrimenti è sotto : lavorazione Long2CutDown
|
||||
-- altrimenti lavorazione di fianco : Long2CutSide o Long2CutDown
|
||||
else
|
||||
-- da Analisi con Fabio Squaratti 15/09/2020
|
||||
-- variabile che indica se ripassare sul raggio rimasto dalla lavorazione di fianco
|
||||
@@ -1152,7 +1153,7 @@ function ProcessLong2Cut.Make( Proc, nPhase, nRawId, nPartId, bForcedBladeMaster
|
||||
end
|
||||
-- lavorazione da sotto
|
||||
else
|
||||
sMilling = ML.FindMilling( 'Long2CutDown', nil, nil, EgtIf( nUseMillOnSide > 0, 150, 50))
|
||||
sMilling = ML.FindMilling( 'Long2CutDown', nil, nil, EgtIf( nUseMillOnSide > 0, nil, 50))
|
||||
sPrefix = 'L2CD_'
|
||||
nExtendMach = 1
|
||||
if nUseMillOnSide ~= 1 then
|
||||
@@ -1437,64 +1438,43 @@ function ProcessLong2Cut.Make( Proc, nPhase, nRawId, nPartId, bForcedBladeMaster
|
||||
EgtSetMachiningParam( MCH_MP.SCC, nSCC)
|
||||
-- se fresa di fianco e non da sotto
|
||||
if nUseMillOnSide > 0 and nSide ~= -1 then
|
||||
-- se faccia da sopra o di fianco
|
||||
if nSide >= 0 then
|
||||
if bConvex then
|
||||
local vFaceUse2
|
||||
-- se da sopra
|
||||
if nSide == 1 then
|
||||
if vtN[vOrd[i]]:getZ() > 0.866 then
|
||||
vFaceUse2 = BL.GetNearestParalOpposite( vtN[EgtIf(vOrd[i] == 1, 1, 2)], vtN[EgtIf(vOrd[i] == 1, 2, 1)])
|
||||
EgtSetMachiningParam( MCH_MP.FACEUSE, vFaceUse2)
|
||||
-- EgtSetMachiningParam( MCH_MP.FACEUSE, MCH_MILL_FU.PARAL_TOP)
|
||||
EgtSetMachiningParam( MCH_MP.STARTADDLEN, dEal)
|
||||
EgtSetMachiningParam( MCH_MP.ENDADDLEN, dSal)
|
||||
else
|
||||
EgtSetMachiningParam( MCH_MP.FACEUSE, MCH_MILL_FU.PARAL_DOWN)
|
||||
end
|
||||
-- altrimenti è di fianco
|
||||
if bConvex then
|
||||
local vFaceUse2
|
||||
-- se da sopra
|
||||
if nSide == 1 then
|
||||
if vtN[vOrd[i]]:getZ() > 0.866 then
|
||||
vFaceUse2 = BL.GetNearestParalOpposite( vtN[EgtIf(vOrd[i] == 1, 1, 2)], vtN[EgtIf(vOrd[i] == 1, 2, 1)])
|
||||
EgtSetMachiningParam( MCH_MP.FACEUSE, vFaceUse2)
|
||||
-- EgtSetMachiningParam( MCH_MP.FACEUSE, MCH_MILL_FU.PARAL_TOP)
|
||||
EgtSetMachiningParam( MCH_MP.STARTADDLEN, dEal)
|
||||
EgtSetMachiningParam( MCH_MP.ENDADDLEN, dSal)
|
||||
else
|
||||
if vtN[vOrd[i]]:getY() > 0.866 then
|
||||
EgtSetMachiningParam( MCH_MP.FACEUSE, MCH_MILL_FU.PARAL_TOP)
|
||||
EgtSetMachiningParam( MCH_MP.STARTADDLEN, dEal)
|
||||
EgtSetMachiningParam( MCH_MP.ENDADDLEN, dSal)
|
||||
else
|
||||
EgtSetMachiningParam( MCH_MP.FACEUSE, MCH_MILL_FU.PARAL_DOWN)
|
||||
end
|
||||
EgtSetMachiningParam( MCH_MP.FACEUSE, MCH_MILL_FU.PARAL_DOWN)
|
||||
end
|
||||
-- se concavo
|
||||
-- altrimenti è di fianco
|
||||
else
|
||||
local vFaceUse2
|
||||
-- se da sopra
|
||||
if nSide == 1 then
|
||||
-- vFaceUse2 = BL.GetNearestParalOpposite( vtN[EgtIf(vOrd[i] == 1, 2, 1)])
|
||||
vFaceUse2 = BL.GetNearestParalOpposite( vtN[EgtIf(vOrd[i] == 1, 2, 1)], vtN[EgtIf(vOrd[i] == 1, 1, 2)])
|
||||
-- altrimenti è di fianco
|
||||
if vtN[vOrd[i]]:getY() > 0.866 then
|
||||
EgtSetMachiningParam( MCH_MP.FACEUSE, MCH_MILL_FU.PARAL_TOP)
|
||||
EgtSetMachiningParam( MCH_MP.STARTADDLEN, dEal)
|
||||
EgtSetMachiningParam( MCH_MP.ENDADDLEN, dSal)
|
||||
else
|
||||
vFaceUse2 = BL.GetNearestParalOpposite( vtN[EgtIf(vOrd[i] == 1, 2, 1)])
|
||||
EgtSetMachiningParam( MCH_MP.FACEUSE, MCH_MILL_FU.PARAL_DOWN)
|
||||
end
|
||||
EgtSetMachiningParam( MCH_MP.FACEUSE, vFaceUse2)
|
||||
EgtSetMachiningParam( MCH_MP.STARTADDLEN, dEal)
|
||||
EgtSetMachiningParam( MCH_MP.ENDADDLEN, dSal)
|
||||
end
|
||||
-- questa parte non viene mai eseguita
|
||||
-- se faccia da sotto
|
||||
-- else
|
||||
-- if bConvex then
|
||||
-- EgtSetMachiningParam( MCH_MP.FACEUSE, MCH_MILL_FU.PARAL_DOWN)
|
||||
-- if vtN[vOrd[i]]:getZ() >= 0 then
|
||||
-- EgtSetMachiningParam( MCH_MP.STARTADDLEN, dEal)
|
||||
-- EgtSetMachiningParam( MCH_MP.ENDADDLEN, dSal)
|
||||
-- end
|
||||
-- else
|
||||
-- -- lascio lo stesso le lavorazioni anche se viene intercettato l'errore
|
||||
-- local vFaceUse2 = BL.GetNearestParalOpposite( vtN[EgtIf(vOrd[i] == 1, 2, 1)])
|
||||
-- EgtSetMachiningParam( MCH_MP.FACEUSE, vFaceUse2)
|
||||
-- if vtN[vOrd[i]]:getZ() < 0 then
|
||||
-- EgtSetMachiningParam( MCH_MP.STARTADDLEN, dEal)
|
||||
-- EgtSetMachiningParam( MCH_MP.ENDADDLEN, dSal)
|
||||
-- end
|
||||
-- end
|
||||
-- se concavo
|
||||
else
|
||||
local vFaceUse2
|
||||
-- se da sopra
|
||||
if nSide == 1 then
|
||||
-- vFaceUse2 = BL.GetNearestParalOpposite( vtN[EgtIf(vOrd[i] == 1, 2, 1)])
|
||||
vFaceUse2 = BL.GetNearestParalOpposite( vtN[EgtIf(vOrd[i] == 1, 2, 1)], vtN[EgtIf(vOrd[i] == 1, 1, 2)])
|
||||
-- altrimenti è di fianco
|
||||
else
|
||||
vFaceUse2 = BL.GetNearestParalOpposite( vtN[EgtIf(vOrd[i] == 1, 2, 1)])
|
||||
end
|
||||
EgtSetMachiningParam( MCH_MP.FACEUSE, vFaceUse2)
|
||||
EgtSetMachiningParam( MCH_MP.STARTADDLEN, dEal)
|
||||
EgtSetMachiningParam( MCH_MP.ENDADDLEN, dSal)
|
||||
end
|
||||
else
|
||||
-- se con fresa di fianco
|
||||
|
||||
Reference in New Issue
Block a user