3dPrinting :
- nel lead out dei setti corretta la distinzione fra coasting e wipe.
This commit is contained in:
+19
-20
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user