3dPrinting 2.5g1 :
- aggiunto numero di passate per Filled Solids.
This commit is contained in:
@@ -670,6 +670,7 @@ local function VerifyInfillLink( nLinkId, nCurr, nNext, vIds, dStrand, nGrpTmp)
|
||||
if nCnt > 1 then return false end
|
||||
|
||||
-- verifico se tratti lineari paralleli al setto sono sufficientemente lontani
|
||||
local dMinDist = dStrand * 0.5
|
||||
local nLinkLoc = EgtCopyGlob( nLinkId, nGrpTmp)
|
||||
local _, dParELink = EgtCurveDomain( nLinkLoc)
|
||||
local nCurrLoc = EgtCopyGlob( nCurr, nGrpTmp)
|
||||
@@ -684,7 +685,7 @@ local function VerifyInfillLink( nLinkId, nCurr, nNext, vIds, dStrand, nGrpTmp)
|
||||
-- verifico distanza
|
||||
local nCrvTest = EgtCurveCompoFromPoints( nGrpTmp, { EgtUP( nCurrLoc, dPar-1), EgtUP( nCurrLoc, dPar)})
|
||||
local dDist = EgtPointCurveDist( EgtUP( nLinkLoc, dParCrv - 0.5), nCrvTest)
|
||||
if dDist < dStrand * 0.5 + GEO.EPS_SMALL then
|
||||
if dDist < dMinDist + GEO.EPS_SMALL then
|
||||
return false
|
||||
end
|
||||
end
|
||||
@@ -703,7 +704,7 @@ local function VerifyInfillLink( nLinkId, nCurr, nNext, vIds, dStrand, nGrpTmp)
|
||||
-- verifico distanza
|
||||
local nCrvTest = EgtCurveCompoFromPoints( nGrpTmp, { EgtUP( nCurrLoc, dPar), EgtUP( nCurrLoc, dPar + 1)})
|
||||
local dDist = EgtPointCurveDist( EgtUP( nLinkLoc, dParCrv - 0.5), nNextLoc)
|
||||
if dDist < dStrand * 0.5 + GEO.EPS_SMALL then
|
||||
if dDist < dMinDist + GEO.EPS_SMALL then
|
||||
return false
|
||||
end
|
||||
end
|
||||
@@ -955,14 +956,14 @@ local function CalcAuxSolidsToolPath( nAuxSolidsGrp, nAuxSolidsPathGrp, nTpathGr
|
||||
local dWipeDir = EgtGetInfo( nSolidId, KEY_AUX_SOLIDS_WIPE_DIR, 'd')
|
||||
|
||||
-- copio i percorsi nel gruppo toolpath
|
||||
local vIds = AddCurvesToToolPath( vEntIds, nTpathGrpId, EgtIf( nFillType == FILL_TYPE.OFFSET, nOrder, PRINT_ORDER.EXT_INT), LayerParams.bInvert, LayerParams.vtSlicing, LayerParams.dLayHeight)
|
||||
local vIds = AddCurvesToToolPath( vEntIds, nTpathGrpId, nOrder, LayerParams.bInvert, LayerParams.vtSlicing, LayerParams.dLayHeight)
|
||||
|
||||
-- assegno strand
|
||||
for i = 1, #vIds do
|
||||
EgtSetInfo( vIds[i], KEY_CRV_STRAND, dStrand)
|
||||
end
|
||||
|
||||
-- aggiungo link e offset lead point
|
||||
-- distinguo le shell dal riempimento
|
||||
local vShells = {}
|
||||
local vInfill = {}
|
||||
for i = 1, #vIds do
|
||||
@@ -975,7 +976,8 @@ local function CalcAuxSolidsToolPath( nAuxSolidsGrp, nAuxSolidsPathGrp, nTpathGr
|
||||
end
|
||||
end
|
||||
|
||||
if nFillType == FILL_TYPE.OFFSET or nFillType == FILL_TYPE.NONE then
|
||||
-- aggiungo link e offset lead point sulle shell
|
||||
if #vShells > 0 then
|
||||
local nLinkType = EgtGetInfo( nSolidId, KEY_AUX_SOLIDS_LINK_TYPE, 'i')
|
||||
local dLinkParam = EgtGetInfo( nSolidId, KEY_AUX_SOLIDS_LINK_PARAM, 'd')
|
||||
local dSPOffset = EgtGetInfo( nSolidId, KEY_AUX_SOLIDS_SP_OFFSET, 'd')
|
||||
@@ -984,9 +986,11 @@ local function CalcAuxSolidsToolPath( nAuxSolidsGrp, nAuxSolidsPathGrp, nTpathGr
|
||||
local nFirstCopy = EgtCopyGlob( vShells[1], nTpathGrpId) -- necessaria per avere il corretto offset lead point sulla shell esterna nel caso di link
|
||||
AddLink( vShells, nTpathGrpId, nLinkType, dLinkParam, dSPOffset, nOrder, LayerParams.vtSlicing)
|
||||
AddOffsetLeadPoint( vShells, nFirstCopy, dLPOffset, nLinkType)
|
||||
|
||||
elseif nFillType & FILL_CATEGORY.INFILL ~= 0 then
|
||||
local bInfillLink = EgtGetInfo( nSolidId, KEY_AUX_SOLIDS_INFILL, 'b')
|
||||
end
|
||||
|
||||
-- aggiungo eventuale link su infill
|
||||
if nFillType & FILL_CATEGORY.INFILL ~= 0 then
|
||||
local bInfillLink = EgtGetInfo( nSolidId, KEY_AUX_SOLIDS_INFILL_LINK, 'b')
|
||||
if bInfillLink then
|
||||
CalcInfillLink( vInfill, nAuxSolidsPathGrp, dStrand, LayerParams)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user