DataWall :
- modifica per scelta origine - correzione lavorazioni contorno libero inclinate e su macchine travi.
This commit is contained in:
@@ -293,11 +293,11 @@ local function GetFacesData( Proc, bOpposite, bCalclForBlade, dToolDiam, dToolMa
|
||||
-- determino la lunghezza del taglio passante e il tipo di attacco e uscita
|
||||
local dLen = vFace[i].Len
|
||||
local nType = 0
|
||||
if vFace[i].PrevAng < -0.1 or ( WD.BEAM_MACHINE and not IsPointOnRawLongEdges( vFace[i].Cen, b3Raw)) then
|
||||
if vFace[i].PrevAng < -0.1 or ( WD.BEAM_MACHINE and not IsPointOnRawLongEdges( vFace[i].Cen, b3Raw) and dLen > 0.5 * WD.CUT_MAX_LENGTH) then
|
||||
dLen = dLen - EgtIf( bCalclForBlade, dWhisk, 0)
|
||||
nType = nType + 1
|
||||
end
|
||||
if vFace[EgtIf( i < nNumFacet, i + 1, 1)].PrevAng < -0.1 or ( WD.BEAM_MACHINE and not IsPointOnRawLongEdges( vFace[i].Cen, b3Raw)) then
|
||||
if vFace[EgtIf( i < nNumFacet, i + 1, 1)].PrevAng < -0.1 or ( WD.BEAM_MACHINE and not IsPointOnRawLongEdges( vFace[i].Cen, b3Raw) and dLen > 0.5 * WD.CUT_MAX_LENGTH) then
|
||||
dLen = dLen - EgtIf( bCalclForBlade, dWhisk, 0)
|
||||
nType = nType + 2
|
||||
end
|
||||
@@ -371,7 +371,7 @@ local function GetFacesData( Proc, bOpposite, bCalclForBlade, dToolDiam, dToolMa
|
||||
end
|
||||
end
|
||||
-- se ciclo chiuso
|
||||
if ( abs( vFace[1].PrevAng) > 0.1) then
|
||||
if abs( vFace[1].PrevAng) > 0.1 then
|
||||
-- verifico se c'è un solo tipo 3 e nessun tipo 0, 1 o 2
|
||||
local nInd3
|
||||
local nTot3 = 0
|
||||
@@ -1229,16 +1229,27 @@ local function AddMillings( sMilling, vFace, Proc, nRawId, b3Raw, nConeCut, nAdd
|
||||
else
|
||||
-- se lavorazione completa su faccia iniziale
|
||||
if vFace[OrigI].Type == 4 then
|
||||
-- se angolo interno prima
|
||||
if vFace[OrigI].PrevAng < -30 then
|
||||
dSal = -dMillDiam / 2
|
||||
-- se faccia precedente inclinata verso il basso
|
||||
local OrigH = EgtIf( OrigI > 1, OrigI - 1, EgtIf( bClosed, #vFace, nil))
|
||||
if OrigH and vFace[OrigH].Norm:getZ() < -0.017 then
|
||||
dSal = dSal + vFace[OrigH].Width * vFace[OrigH].Norm:getZ()
|
||||
end
|
||||
end
|
||||
end
|
||||
-- se lavorazione completa su faccia finale
|
||||
local LastFace = ( LastJ or OrigI)
|
||||
if vFace[LastFace].Type == 4 then
|
||||
local OrigK = EgtIf( LastFace < #vFace, LastFace + 1, EgtIf( bClosed, 1, nil))
|
||||
-- se angolo interno dopo
|
||||
if OrigK and vFace[OrigK].PrevAng < -30 then
|
||||
dEal = -dMillDiam / 2
|
||||
-- se faccia successiva inclinata verso il basso
|
||||
if vFace[OrigK].Norm:getZ() < -0.017 then
|
||||
dEal = dEal + vFace[OrigK].Width * vFace[OrigK].Norm:getZ()
|
||||
end
|
||||
end
|
||||
end
|
||||
-- se percorso chiuso e completo con fresa
|
||||
|
||||
Reference in New Issue
Block a user