3dPrinting :

- tolleranza di approssimazione portata a 0.5 da 0.02
- piccola miglioria nella segnalazione errori.
This commit is contained in:
DarioS
2022-09-18 19:12:53 +02:00
parent 2d8ee96d5f
commit f1490bfaf0
+21 -7
View File
@@ -1,4 +1,4 @@
-- CalcSlices.lua by Egaltech s.r.l. 2022/07/06
-- CalcSlices.lua by Egaltech s.r.l. 2022/09/18
-- Calcolo percorsi di lavoro per Stampa 3d
-- Tabella per definizione modulo
@@ -297,7 +297,7 @@ function CalcSlices.Exec( nPartId, nStmId, HMax)
-- costanti
local TOLER = 0.2
local SMALL_TOLER = 0.02
local SMALL_TOLER = 0.5
local BIG_TOLER = 2.0
local MIN_LEN = 20.0
local MIN_AREA = 25.0
@@ -457,11 +457,12 @@ function CalcSlices.Exec( nPartId, nStmId, HMax)
end
EgtErase( nGrp)
local nSurfFR, nSrfNbr = EgtSurfFlatRegion( nLayId, vClosedId)
for i = 1, #vClosedId do
EgtErase( vClosedId[i])
end
if nSurfFR then
-- elimino le curve originali
for i = 1, #vClosedId do
EgtErase( vClosedId[i])
end
-- esplodo in superfici elementari
local vSrfId = {}
for j = 1, nSrfNbr do
@@ -539,9 +540,22 @@ function CalcSlices.Exec( nPartId, nStmId, HMax)
end
end
else
-- errore
local bErr = true
-- se nessuna curva
if #vClosedId == 0 then
bErr = false
-- se una sola curva, ne verifico larghezza media
elseif #vClosedId == 1 then
local dLen = EgtCurveLength( vClosedId[1])
local _, _, dArea = EgtCurveArea( vClosedId[1])
if not dArea or dArea / dLen < SMALL_TOLER then bErr = false end
end
-- cambio nome al layer
EgtSetName( nLayId, '__' .. SLICE_LAYER .. EgtNumToString( nLayCnt))
table.insert( vErr, nLayCnt)
-- se vero errore lo segnalo
if bErr then
table.insert( vErr, nLayCnt)
end
end
-- passo al layer successivo