DataBeam :

- in Chamfer corretta giunzione tra lavorazioni successive per feature lunga
- in FreeContour e RoundArch aggiunta gestione forzatura codolo centrale anzichè laterale
- in LapJoint migliorata gestione lama con fessura e corretta gestione lato asseC per antischeggia con lama invertiti.
This commit is contained in:
Dario Sassi
2020-09-04 07:21:20 +00:00
parent 183d9355b1
commit ec65b6cf76
4 changed files with 130 additions and 48 deletions
+9 -6
View File
@@ -1,4 +1,4 @@
-- ProcessChamfer.lua by Egaltech s.r.l. 2020/06/09
-- ProcessChamfer.lua by Egaltech s.r.l. 2020/09/01
-- Gestione calcolo profilo libero per Travi
-- Tabella per definizione modulo
@@ -80,11 +80,11 @@ function ProcessChamfer.Make( Proc, nPhase, nRawId, nPartId)
EgtSetOperationMode( nMchId, false)
return false, sErr
end
-- altrimenti smusso standard
else
-- normale ed elevazione della faccia principale
local ptC, vtN = EgtSurfTmFacetCenter( Proc.Id, 0, GDB_ID.ROOT)
local _, dH, dV = EgtSurfTmFacetMinAreaRectangle( Proc.Id, 0, GDB_ID.ROOT)
local _, dElev = BL.GetPointDirDepth( nPartId, ptC, vtN)
local bFront = ( vtN:getY() < 0)
-- limitazioni su inizio e fine derivanti da altre facce
@@ -119,6 +119,9 @@ function ProcessChamfer.Make( Proc, nPhase, nRawId, nPartId)
end
-- determino numero di parti
local dLen = Proc.Box:getDimX()
-- calcolo la differenza tra lunghezza faccia 0 e lunghezza feature
-- per far corrispondere i punti di inizio-fine delle lavorazioni multiple (a passi)
local dAddLen = (( dH - dLen) / EgtIf( bLimXmax and bLimXmin , 2, 1))
local dStartAccDist = BD.LONGCUT_ENDLEN
local dEndAccDist = BD.LONGCUT_ENDLEN
local nC = ceil( ( dLen - dStartAccDist - dEndAccDist) / BD.LONGCUT_MAXLEN)
@@ -157,11 +160,11 @@ function ProcessChamfer.Make( Proc, nPhase, nRawId, nPartId)
-- imposto attacchi e uscite
local dSal, dEal
if bFront then
dSal = EgtIf( i == 1, dStartAll, -( i - 1) * dC)
dEal = EgtIf( i == nC, dEndAll, -( nC - i) * dC)
dSal = EgtIf( i == 1, dStartAll, -( i - 1) * dC - dAddLen + 0.5)
dEal = EgtIf( i == nC, dEndAll, -( nC - i) * dC - dAddLen + 0.5)
else
dSal = EgtIf( i == nC, dStartAll, -( nC - i) * dC)
dEal = EgtIf( i == 1, dEndAll, -( i - 1) * dC)
dSal = EgtIf( i == nC, dStartAll, -( nC - i) * dC - dAddLen + 0.5)
dEal = EgtIf( i == 1, dEndAll, -( i - 1) * dC - dAddLen + 0.5)
end
EgtSetMachiningParam( MCH_MP.STARTADDLEN, dSal)
EgtSetMachiningParam( MCH_MP.LIPERP, dMillDiam / 4)