3dPrinting :
- aggiunto parametro 'SingleLeadIn' per fare lead in solo sul primo layer.
This commit is contained in:
@@ -37,6 +37,7 @@ local function GetLayerParamsForToolPathCalc()
|
||||
LayerParams.nLinkType = EgtGetInfo( s_nPartId, KEY_LINK_TYPE, 'i')
|
||||
LayerParams.dLinkParam = EgtGetInfo( s_nPartId, KEY_LINK_PARAM, 'd')
|
||||
LayerParams.nLeadInType = EgtGetInfo( s_nPartId, KEY_LEAD_IN_TYPE, 'i')
|
||||
LayerParams.bSingleLeadIn = EgtGetInfo( s_nPartId, KEY_SINGLE_LEAD_IN, 'b') or true
|
||||
LayerParams.dLeadInTangDist = EgtGetInfo( s_nPartId, KEY_LEAD_IN_TANG_DIST, 'd')
|
||||
LayerParams.dLeadInOrthoDist = EgtGetInfo( s_nPartId, KEY_LEAD_IN_ORTHO_DIST, 'd')
|
||||
LayerParams.nLeadOutType = EgtGetInfo( s_nPartId, KEY_LEAD_OUT_TYPE, 'i')
|
||||
@@ -65,7 +66,7 @@ local function GetLayerParamsForToolPathCalc()
|
||||
-- parametri da file ini del programma
|
||||
local sIniFile = EgtGetIniFile()
|
||||
LayerParams.dSpiralVaseInterpLen = EgtGetNumberFromIni( '3dPrinting', KEY_SPIRAL_VASE_INTERP_LEN, 100.0, sIniFile)
|
||||
|
||||
|
||||
return LayerParams
|
||||
end
|
||||
|
||||
@@ -610,7 +611,7 @@ local function AddRetractionOnLastCrv( nCrvId, nTpathGrpId, LayerParams, dCoasti
|
||||
end
|
||||
|
||||
---------------------------------------------------------------------
|
||||
local function CalcShellsToolPath( vEntIds, nTpathGrpId, LayerParams)
|
||||
local function CalcShellsToolPath( vEntIds, nTpathGrpId, bFirst, LayerParams)
|
||||
|
||||
if not vEntIds or #vEntIds == 0 then return end
|
||||
|
||||
@@ -638,7 +639,9 @@ local function CalcShellsToolPath( vEntIds, nTpathGrpId, LayerParams)
|
||||
|
||||
-- aggiungo leadin/leadout
|
||||
if LayerParams.nLeadInType ~= LEAD_TYPE.NONE then
|
||||
AddLeadIn( vIds[1], LayerParams, nTpathGrpId)
|
||||
if bFirst or not LayerParams.bSingleLeadIn then
|
||||
AddLeadIn( vIds[1], LayerParams, nTpathGrpId)
|
||||
end
|
||||
end
|
||||
if LayerParams.nLeadOutType ~= LEAD_TYPE.NONE then
|
||||
EgtTrimCurveEndAtLen( vIds[#vIds], EgtCurveLength( vIds[#vIds]) - LayerParams.dOffsetLP)
|
||||
@@ -3013,6 +3016,7 @@ function CalcToolPath.Exec( nPartId)
|
||||
-- recupero i parametri per calcolo dei toolpath
|
||||
local LayerParams = GetLayerParamsForToolPathCalc()
|
||||
local nSlicingType = EgtGetInfo( s_nPartId, KEY_SLICING_TYPE, 'i')
|
||||
local nFirstSolidLay = EgtGetInfo( s_nPartId, KEY_FIRST_SOLID_LAY, 'i')
|
||||
|
||||
-- caso spiral vase
|
||||
if LayerParams.bSpiralVase then
|
||||
@@ -3073,7 +3077,7 @@ function CalcToolPath.Exec( nPartId)
|
||||
|
||||
-- shell
|
||||
if LayerParams.vPrintOrder[j] == PRINT_ELEMENT.SHELL then
|
||||
CalcShellsToolPath( vShellIds, nTpathGrpId, LayerParams)
|
||||
CalcShellsToolPath( vShellIds, nTpathGrpId, nIdx == nFirstSolidLay, LayerParams)
|
||||
|
||||
-- extra shell
|
||||
elseif LayerParams.vPrintOrder[j] == PRINT_ELEMENT.EXTRA_SHELL then
|
||||
|
||||
Reference in New Issue
Block a user