3dPrinting :

- aggiunta approssimazione delle curve nel toolpath per eliminare piccoli tratti.
This commit is contained in:
SaraP
2023-12-04 14:50:14 +01:00
parent 7cebcd4b0e
commit 36a867ef4a
+6 -4
View File
@@ -15,6 +15,7 @@ local AMD = require( 'AddManData')
---------------------------------------------------------------------
local s_nPartId
local s_nDefaultWipeAng = -90 -- angolo = 0° per wipe significa che esce ortogonalmente alla direzione del movimento
local s_dApproxTol = 0.1
---------------------------------------------------------------------
local function GetLayerParamsForToolPathCalc()
@@ -141,7 +142,7 @@ local function AddCurvesToToolPath( vEntIds, nTpathGrpId, nOrder, bInvert, vtSli
-- mi sposto dell'altezza layer
EgtMove( vIds[nIdx], dLayHeight * vtSlicing, GDB_RT.GLOB)
if EgtCurveIsClosed( vIds[nIdx]) then
EgtSetInfo( vIds[nIdx], KEY_CLOSED_CRV, 1)
-- eventuale inversione
@@ -150,7 +151,9 @@ local function AddCurvesToToolPath( vEntIds, nTpathGrpId, nOrder, bInvert, vtSli
EgtSetInfo( vIds[nIdx], KEY_INVERTED_CRV, 1)
end
end
EgtApproxCurve( vIds[nIdx], GDB_CA.ARCS, s_dApproxTol)
EgtSetInfo( vEntIds[i], KEY_ASSOCIATED_TP_CRV, vIds[nIdx])
EgtSetInfo( vIds[nIdx], KEY_ASSOCIATED_P_CRV, vEntIds[i])
@@ -307,8 +310,6 @@ local function AddLeadIn( nCrvId, LayerParams, nGrpId)
vtOrtho:rotate( LayerParams.vtSlicing, dAng)
local ptS = ptE - LayerParams.dLeadInTangDist * vtTang + LayerParams.dLeadInOrthoDist * vtOrtho
-- verifico che non affondi nella tavola
if ptS:getZ() < s_dHMin + GEO.EPS_SMALL then return end
local nLeadInCrv
if LayerParams.nLeadInType == LEAD_TYPE.LINEAR then
@@ -1711,6 +1712,7 @@ local function CalcRibsToolPath( vEntIds, nRibsGrp, nTpathGrpId, LayerParams)
local nNewEntId = EgtCopyGlob( vEntIds[i], nTpathGrpId, GDB_IN.LAST_SON)
-- mi sposto dell'altezza layer
EgtMove( nNewEntId, LayerParams.dLayHeight * LayerParams.vtSlicing, GDB_RT.GLOB)
EgtApproxCurve( nNewEntId, GDB_CA.ARCS, s_dApproxTol)
EgtModifyCurveExtrusion( nNewEntId, LayerParams.vtSlicing, GDB_RT.GLOB)
EgtSetColor( nNewEntId, EgtStdColor('MAROON'))