3dPrinting :
- correzioni varie.
This commit is contained in:
@@ -213,6 +213,7 @@ local function AddRetraction( nCrvId, LayerParams, dCoastingLen, dWipeLen, dWipe
|
||||
else
|
||||
EgtErase( nCrvId)
|
||||
end
|
||||
EgtModifyCurveExtrusion( nCoastingId, LayerParams.vtSlicing)
|
||||
EgtSetName( nCoastingId, COASTING_CRV)
|
||||
EgtSetInfo( nCoastingId, KEY_TYPE, TYPE.COASTING)
|
||||
EgtSetColor( nCoastingId, EgtStdColor('ORANGE'))
|
||||
@@ -242,6 +243,15 @@ local function AddRetraction( nCrvId, LayerParams, dCoastingLen, dWipeLen, dWipe
|
||||
vtDir:rotate( LayerParams.vtSlicing, EgtIf( bChangeSign, - dAng, dAng))
|
||||
local ptS = EgtEP( nCoastingId or nCrvId)
|
||||
local ptE = ptS + vtDir * dWipeLen
|
||||
-- verifico soddisfi altezza minima per dimensioni utensile
|
||||
local dHMin = 0.5 * LayerParams.dTDiam * sqrt( LayerParams.vtSlicing:getX() * LayerParams.vtSlicing:getX() + LayerParams.vtSlicing:getY() * LayerParams.vtSlicing:getY())
|
||||
local k = 1
|
||||
while ptE:getZ() < dHMin + GEO.EPS_SMALL and k < 36 do
|
||||
vtDir:rotate( LayerParams.vtSlicing, EgtIf( bChangeSign, 10, -10))
|
||||
ptE = ptS + vtDir * dWipeLen
|
||||
k = k + 1
|
||||
end
|
||||
|
||||
nWipeId = EgtCurveCompoFromPoints( EgtGetParent( nCrvId), {ptS, ptE})
|
||||
EgtModifyCurveExtrusion( nWipeId, LayerParams.vtSlicing, GDB_RT.GLOB)
|
||||
EgtRelocateGlob( nWipeId, nCoastingId or nCrvId, GDB_IN.AFTER)
|
||||
@@ -561,7 +571,7 @@ local function FindCorrectRibsLead( dPar, nCrv, nCrvOffs, bLeadInvert, dLeadLen,
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------
|
||||
local function AddRibsLeadIn( nCrv, nLoopsGrp, dStrand)
|
||||
local function AddRibsLeadIn( nCrv, nLoopsGrp, dStrand, vtSlicing)
|
||||
|
||||
local dLILen = EgtGetInfo( nCrv, KEY_RIBS_LEAD_IN_LEN, 'd')
|
||||
local bLIInvert = EgtGetInfo( nCrv, KEY_RIBS_LEAD_IN_INVERT, 'b')
|
||||
@@ -578,6 +588,7 @@ local function AddRibsLeadIn( nCrv, nLoopsGrp, dStrand)
|
||||
local nLeadIn = FindCorrectRibsLead( dParS, nCrv, nCrvOffs, bLIInvert, dLILen, dStrand, true)
|
||||
-- se lead in possibile
|
||||
if nLeadIn then
|
||||
EgtModifyCurveExtrusion( nLeadIn, vtSlicing)
|
||||
EgtSetInfo( nLeadIn, KEY_TYPE, TYPE.RIB)
|
||||
EgtSetName( nLeadIn, LEAD_IN_CRV)
|
||||
end
|
||||
@@ -626,6 +637,7 @@ local function AddRibsLeadOut( nCrv, nTPathGrp, nLoopsGrp, vtSlicing, dStrand)
|
||||
if dRibsLOLen > GEO.EPS_SMALL and not bSkip then
|
||||
nCrvLO = EgtCopyGlob( nCrvRef, nCrv, GDB_IN.AFTER)
|
||||
EgtTrimCurveEndAtLen( nCrvLO, dRibsLOLen)
|
||||
EgtModifyCurveExtrusion( nCrvLO, vtSlicing)
|
||||
EgtSetInfo( nCrvLO, KEY_TYPE, TYPE.RIB)
|
||||
EgtSetName( nCrvLO, LEAD_OUT_CRV)
|
||||
-- aggiorno ptE e vtE
|
||||
@@ -638,6 +650,7 @@ local function AddRibsLeadOut( nCrv, nTPathGrp, nLoopsGrp, vtSlicing, dStrand)
|
||||
nCoasting = EgtCopyGlob( nCrvRef, nCrvLO or nCrv, GDB_IN.AFTER)
|
||||
EgtTrimCurveStartAtLen( nCoasting, dRibsLOLen)
|
||||
EgtTrimCurveEndAtLen( nCoasting, dRibsLOCoasting)
|
||||
EgtModifyCurveExtrusion( nCoasting, vtSlicing)
|
||||
|
||||
EgtSetName( nCoasting, COASTING_CRV)
|
||||
EgtSetInfo( nCoasting, KEY_TYPE, TYPE.COASTING)
|
||||
@@ -789,7 +802,7 @@ local function CalcRibsToolPath( nCrvGrp, nTpathGrpId, LayerParams, dCorrZ)
|
||||
-- verifico se necessario lead in
|
||||
local nPrev = EgtGetPrev( nCrvRib)
|
||||
if not nPrev or EgtGetName( nPrev) then
|
||||
AddRibsLeadIn( nCrvRib, nLoopGrp, LayerParams.dStrand)
|
||||
AddRibsLeadIn( nCrvRib, nLoopGrp, LayerParams.dStrand, LayerParams.vtSlicing)
|
||||
end
|
||||
-- verifico se necessario lead out
|
||||
local nNext = EgtGetNext( nCrvRib)
|
||||
@@ -968,10 +981,12 @@ function CalcToolPath.Exec( nPartId)
|
||||
local ptS = EgtEP( nPrev)
|
||||
local ptE = EgtSP( nCurr)
|
||||
local nLinkId = EgtCurveCompoFromPoints( nTpathGrpId, {ptS, ptE})
|
||||
EgtRelocateGlob( nLinkId, nCurr, GDB_IN.BEFORE)
|
||||
EgtModifyCurveExtrusion( nLinkId, LayerParams.vtSlicing, GDB_RT.GLOB)
|
||||
EgtSetInfo( nLinkId, KEY_TYPE, TYPE.LINK)
|
||||
EgtSetName( nLinkId, LINK_CRV)
|
||||
if nLinkId then
|
||||
EgtRelocateGlob( nLinkId, nCurr, GDB_IN.BEFORE)
|
||||
EgtModifyCurveExtrusion( nLinkId, LayerParams.vtSlicing, GDB_RT.GLOB)
|
||||
EgtSetInfo( nLinkId, KEY_TYPE, TYPE.LINK)
|
||||
EgtSetName( nLinkId, LINK_CRV)
|
||||
end
|
||||
end
|
||||
sPrevName = sCurrName
|
||||
nPrev = nCurr
|
||||
|
||||
Reference in New Issue
Block a user