From 49c8361bc5c7f2c3f617e678ba58be144ab0c941 Mon Sep 17 00:00:00 2001 From: SaraP Date: Wed, 22 Mar 2023 11:52:45 +0100 Subject: [PATCH] 3dPrinting : - nei FilledSolid il riempimento di tipo none viene realizzato con unica passata lungo il perimetro. --- LuaLibs/CalcPaths.lua | 9 +++++++-- LuaLibs/CalcSlices.lua | 1 - 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/LuaLibs/CalcPaths.lua b/LuaLibs/CalcPaths.lua index 084277e..97262e9 100644 --- a/LuaLibs/CalcPaths.lua +++ b/LuaLibs/CalcPaths.lua @@ -320,7 +320,7 @@ local function ComputeOffsetInfill( nSrf, dStrand, vtSlicing, sName, nType, vPtS local nChunk = EgtSurfFrChunkCount( nSrf) if nChunk == 0 then return end - -- estraggo i contorni della superficie + -- estraggo i contorni della superficie local vOldIds = GetPathsFromSurf( nSrf, sName, nType, nGrp, vPtStart) local dOffs = - dStrand local bOk, bExists, nSrfOffs = ComputeSurfOffset( nSrf, nGrp, dOffs, vtSlicing) @@ -2149,7 +2149,12 @@ local function CalcAuxSolidsPaths( nSliceGrp, nSolidGrp, LayerParams, vPtStart) for j = 0, nCnt - 1 do local sNewName = sName .. EgtIf( j == 0, '', '_' .. tostring( j)) local nInfillType = EgtGetInfo( vSolidIds[i][1], KEY_AUX_SOLIDS_INFILL, 'i') - if nInfillType == INFILL_TYPE.OFFSET then + if nInfillType == INFILL_TYPE.NONE then + -- estraggo i contorni della superficie ( serve solo perimetro) + GetPathsFromSurf( nFirst + j, sNewName, TYPE.AUX_SOLID, nSolidPathGrp, vPtStart) + -- aggiorno la trim surf + UpdateTrimSurfWithAuxSolidsOffset( nFirst + j, nSrfBase, LayerParams.dStrand, nSolidPathGrp, LayerParams.vtSlicing) + elseif nInfillType == INFILL_TYPE.OFFSET then ComputeOffsetInfill( nFirst + j, LayerParams.dStrand, LayerParams.vtSlicing, sNewName, TYPE.AUX_SOLID, vPtStart, nSolidPathGrp) -- aggiorno la trim surf UpdateTrimSurfWithAuxSolidsOffset( nFirst + j, nSrfBase, LayerParams.dStrand, nSolidPathGrp, LayerParams.vtSlicing) diff --git a/LuaLibs/CalcSlices.lua b/LuaLibs/CalcSlices.lua index 8d74447..db6da25 100644 --- a/LuaLibs/CalcSlices.lua +++ b/LuaLibs/CalcSlices.lua @@ -203,7 +203,6 @@ local function SlicingExtraObjects( vtSlicing, nLay, nType, sNameGrp, sName, nSt if vParams[KEY_SHELL_NBR_DIFF] == 0 then bToBeDone = false end elseif nType == TYPE.AUX_SOLID then vParams = GetAuxSolidsParams( vIds[i]) - if vParams[KEY_AUX_SOLIDS_INFILL] == INFILL_TYPE.NONE then bToBeDone = false end end table.insert( tabParams, vParams) table.insert( vToBeDone, bToBeDone)