3dPrinting :
- aggiunta approssimazione delle curve nel toolpath per eliminare piccoli tratti.
This commit is contained in:
@@ -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'))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user