3dPrinting :

- nel lead out dei setti corretta la distinzione fra coasting e wipe.
This commit is contained in:
SaraP
2022-07-05 16:26:13 +02:00
parent 4fe9445bc1
commit 3988809c7e
3 changed files with 23 additions and 24 deletions
+19 -20
View File
@@ -45,8 +45,8 @@ local function GetLayerParamsForToolPathCalc()
LayerParams.dRibsLILen = EgtGetInfo( s_nPartId, KEY_RIBS_LEAD_IN_LEN, 'd')
LayerParams.bRibsLOInvert = EgtGetInfo( s_nPartId, KEY_RIBS_LEAD_OUT_INVERT, 'b')
LayerParams.dRibsLOLen = EgtGetInfo( s_nPartId, KEY_RIBS_LEAD_OUT_LEN, 'd')
LayerParams.dRibsLOWipeTang = EgtGetInfo( s_nPartId, KEY_RIBS_LEAD_OUT_WIPE1, 'd')
LayerParams.dRibsLOWipe = EgtGetInfo( s_nPartId, KEY_RIBS_LEAD_OUT_WIPE2, 'd')
LayerParams.dRibsLOCoasting = EgtGetInfo( s_nPartId, KEY_RIBS_LEAD_OUT_COASTING, 'd')
LayerParams.dRibsLOWipe = EgtGetInfo( s_nPartId, KEY_RIBS_LEAD_OUT_WIPE, 'd')
LayerParams.dRibsLOWipeAng = EgtGetInfo( s_nPartId, KEY_RIBS_LEAD_OUT_WIPE_DIR, 'd')
return LayerParams
@@ -291,7 +291,7 @@ end
local function AddRibsLeadOut( nCrv, nTPathGrp, nLoopsGrp, LayerParams)
if abs( LayerParams.dRibsLOLen) < GEO.EPS_SMALL and
abs( LayerParams.dRibsLOWipeTang) < GEO.EPS_SMALL and
abs( LayerParams.dRibsLOCoasting) < GEO.EPS_SMALL and
abs( LayerParams.dRibsLOWipe) < GEO.EPS_SMALL then return end
local ptE = EgtEP( nCrv)
@@ -302,6 +302,7 @@ local function AddRibsLeadOut( nCrv, nTPathGrp, nLoopsGrp, LayerParams)
if dParE then
local nCrvLO
local nCoasting
local nWipe
local bInvert = false
@@ -345,13 +346,18 @@ local function AddRibsLeadOut( nCrv, nTPathGrp, nLoopsGrp, LayerParams)
end
-- secondo tratto ( segue offset con flusso chiuso)
if LayerParams.dRibsLOWipeTang > GEO.EPS_SMALL then
nWipe = EgtCopyGlob( nCrvRef, nCrvLO or nCrv, GDB_IN.AFTER)
EgtTrimCurveStartAtLen( nWipe, LayerParams.dRibsLOLen)
EgtTrimCurveEndAtLen( nWipe, LayerParams.dRibsLOWipeTang)
if LayerParams.dRibsLOCoasting > GEO.EPS_SMALL then
nCoasting = EgtCopyGlob( nCrvRef, nCrvLO or nCrv, GDB_IN.AFTER)
EgtTrimCurveStartAtLen( nCoasting, LayerParams.dRibsLOLen)
EgtTrimCurveEndAtLen( nCoasting, LayerParams.dRibsLOCoasting)
EgtSetName( nCoasting, COASTING_CRV)
EgtSetInfo( nCoasting, KEY_TYPE, TYPE.COASTING)
EgtSetColor( nCoasting, EgtStdColor('ORANGE'))
-- aggiorno ptE e vtE
ptE = EgtEP( nWipe)
vtE = EgtEV( nWipe)
ptE = EgtEP( nCoasting)
vtE = EgtEV( nCoasting)
end
EgtErase( nCrvRef)
@@ -360,20 +366,13 @@ local function AddRibsLeadOut( nCrv, nTPathGrp, nLoopsGrp, LayerParams)
local dAng = EgtIf( bInvert, 90, - 90) + LayerParams.dRibsLOWipeAng
vtE:rotate( LayerParams.vtSlicing, dAng)
local ptFinal = ptE + vtE * LayerParams.dRibsLOWipe
if nWipe then
-- unisco al secondo tratto così da averne uno solo per il wiping
EgtAddCurveCompoLine( nWipe, ptFinal)
else
nWipe = EgtCurveCompoFromPoints( nTPathGrp, { ptE, ptFinal})
EgtRelocateGlob( nWipe, nCrvLO or nCrv, GDB_IN.AFTER)
end
end
if nWipe then
nWipe = EgtCurveCompoFromPoints( nTPathGrp, { ptE, ptFinal})
EgtRelocateGlob( nWipe, nCoasting or nCrvLO or nCrv, GDB_IN.AFTER)
EgtSetName( nWipe, WIPE_CRV)
EgtSetInfo( nWipe, KEY_TYPE, TYPE.WIPE)
EgtSetColor( nWipe, EgtStdColor('TEAL'))
EgtSetColor( nWipe, EgtStdColor('TEAL'))
end
return
end