DataBeam :

- aggiunta lavorazione TyroleanDovetail
- migliorie e correzioni varie.
This commit is contained in:
Dario Sassi
2020-04-15 11:10:23 +00:00
parent f1b0324106
commit d81e309e66
4 changed files with 880 additions and 15 deletions
+22 -7
View File
@@ -1,4 +1,4 @@
-- ProcessLapJoint.lua by Egaltech s.r.l. 2020/04/07
-- ProcessLapJoint.lua by Egaltech s.r.l. 2020/04/09
-- Gestione calcolo mezzo-legno per Travi
-- 2019/10/08 Agg. gestione OpenPocket.
@@ -1727,7 +1727,7 @@ local function MakeAntiSplintBySaw( Proc, nFacet, vtN, b3Raw)
end
---------------------------------------------------------------------
local function EvaluateQParam( Proc, nRawId, bMakeVertCham, sDephtCham, sOnlyCham, sUseBlade)
local function EvaluateQParam( Proc, bMakeVertCham, sDephtCham, sOnlyCham, sUseBlade)
local nChamfer = 0
local bForceUseBlade = false
local sErr
@@ -2403,13 +2403,28 @@ local function CheckDiamToolByFaces( Proc, nFacInd, dH, dV, bIsU, bIsL, dElev)
return false
end
local bUseMaxDist = true
local dLargeVal
local dDelta = 100000
for i = 1, #tDistAdj do
-- se trovo una lunghezza di adiacenza sul lato lungo e diametro minimo inferiore di quello massimo trovato
-- setto di non utilizzare il diametro massimo
if tDistAdj[i] > dMaxLenFace - 20 * GEO.EPS_SMALL and dDiam < dMaxDiam + 10 * GEO.EPS_SMALL then
bUseMaxDist = false
local dDeltadH = abs( tDistAdj[i] - dH)
local dDeltadV = abs( tDistAdj[i] - dV)
if dDeltadH < dDeltadV then
if dDeltadH < dDelta + 10 * GEO.EPS_SMALL then
dDelta = dDeltadH
dLargeVal = dV
end
else
if dDeltadV < dDelta + 10 * GEO.EPS_SMALL then
dDelta = dDeltadV
dLargeVal = dH
end
end
end
-- se diametro massimo inferiore della larghezza faccia
-- setto di non utilizzare il diametro massimo
if dMaxDiam > dLargeVal + 20 * GEO.EPS_SMALL then
bUseMaxDist = false
end
if bUseMaxDist then
return dMaxDiam, 'OpenPocket', 1
end
@@ -2779,7 +2794,7 @@ local function MakeMoreFaces( Proc, nPhase, nRawId, nPartId, bSingle_part)
end
-- verifico se sono presenti i parametri Q per la profondità smusso e
-- per eseguire in esclusiva solo lo smusso
local nChamfer, dDepthCham, sErrCham, bForceUseBlade = EvaluateQParam( Proc, nRawId, false, sDepthChamferMill, sPreemptiveChamfer, sForceUseBlade)
local nChamfer, dDepthCham, sErrCham, bForceUseBlade = EvaluateQParam( Proc, false, sDepthChamferMill, sPreemptiveChamfer, sForceUseBlade)
-- se non posso lavorare la feature perché condizionata dall'esecuzione del solo chamfer
-- genero errore e non faccio nulla
if nChamfer < 0 then