3dPrinting :
- ordinamento elementi di stampa - oridinamento per tipologia di setti.
This commit is contained in:
+29
-24
@@ -25,7 +25,8 @@ local function GetLayerParamsForToolPathCalc()
|
||||
LayerParams.dLayHeight = EgtGetInfo( s_nPartId, KEY_SLICE_STEP, 'd')
|
||||
LayerParams.dOffs = EgtGetInfo( s_nPartId, KEY_OFFSET_SLICE, 'd')
|
||||
LayerParams.bInvert = ( EgtGetInfo( s_nPartId, KEY_PRINT_DIRECTION, 'i') == PRINT_DIRECTION.CW)
|
||||
LayerParams.nOrder = EgtGetInfo( s_nPartId, KEY_PRINT_ORDER, 'i')
|
||||
LayerParams.nOrder = EgtGetInfo( s_nPartId, KEY_STRAND_ORDER, 'i')
|
||||
LayerParams.vPrintOrder = EgtGetInfo( s_nPartId, KEY_PRINT_ORDER, 'vi') or { 1, 2, 3, 4, 5}
|
||||
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')
|
||||
@@ -394,7 +395,7 @@ local function CalcExtraShellToolPath( vEntIds, nTpathGrpId, LayerParams, dCorrZ
|
||||
if not vEntIds then return end
|
||||
-- aggiungo le curve nel toolpath
|
||||
local vIds = AddCurvesToToolPath( vEntIds, nTpathGrpId, PRINT_ORDER.EXT_INT, false, LayerParams.vtSlicing, LayerParams.dLayHeight, dCorrZ)
|
||||
|
||||
|
||||
-- aggiungo gli opportuni raccordi
|
||||
local sPrevName = EgtGetName( vIds[1])
|
||||
for i = 2, #vIds do
|
||||
@@ -1304,29 +1305,33 @@ function CalcToolPath.Exec( nPartId)
|
||||
EgtEmptyGroup( nTpathGrpId)
|
||||
end
|
||||
|
||||
-- shells
|
||||
local vShellIds = EgtGetNameInGroup( nPathGrpId, SHELL_CRV .. '*')
|
||||
local vExtraShellIds = EgtGetNameInGroup( nPathGrpId, EXTRA_SHELL_CRV .. '*')
|
||||
local vInfillIds = EgtGetNameInGroup( nPathGrpId, INFILL_CRV .. '*')
|
||||
|
||||
if LayerParams.nOrder == PRINT_ORDER.EXT_INT then
|
||||
CalcShellsToolPath( vShellIds, nTpathGrpId, LayerParams, dCorrZ)
|
||||
CalcExtraShellToolPath( vExtraShellIds, nTpathGrpId, LayerParams, dCorrZ)
|
||||
CalcInfillToolPath( vInfillIds, nTpathGrpId, LayerParams, dCorrZ)
|
||||
else
|
||||
CalcInfillToolPath( vInfillIds, nTpathGrpId, LayerParams, dCorrZ)
|
||||
CalcExtraShellToolPath( vExtraShellIds, nTpathGrpId, LayerParams, dCorrZ)
|
||||
CalcShellsToolPath( vShellIds, nTpathGrpId, LayerParams, dCorrZ)
|
||||
-- realizzo le diverse tipologie in base all'ordine selezionato
|
||||
for j = 1, #LayerParams.vPrintOrder do
|
||||
|
||||
if LayerParams.vPrintOrder[j] == PRINT_ELEMENT.SHELL then
|
||||
-- shell
|
||||
local vShellIds = EgtGetNameInGroup( nPathGrpId, SHELL_CRV .. '*')
|
||||
CalcShellsToolPath( vShellIds, nTpathGrpId, LayerParams, dCorrZ)
|
||||
elseif LayerParams.vPrintOrder[j] == PRINT_ELEMENT.EXTRA_SHELL then
|
||||
-- extra shell
|
||||
local vExtraShellIds = EgtGetNameInGroup( nPathGrpId, EXTRA_SHELL_CRV .. '*')
|
||||
CalcExtraShellToolPath( vExtraShellIds, nTpathGrpId, LayerParams, dCorrZ)
|
||||
elseif LayerParams.vPrintOrder[j] == PRINT_ELEMENT.INFILL then
|
||||
-- infill
|
||||
local vInfillIds = EgtGetNameInGroup( nPathGrpId, INFILL_CRV .. '*')
|
||||
CalcInfillToolPath( vInfillIds, nTpathGrpId, LayerParams, dCorrZ)
|
||||
elseif LayerParams.vPrintOrder[j] == PRINT_ELEMENT.AUX_SOLID then
|
||||
-- solidi ausiliari
|
||||
local nAuxSolidsGrp = EgtGetFirstNameInGroup( vLayIds[nIdx], AUX_SOLIDS_GRP)
|
||||
local nAuxSolidsPathGrp = EgtGetFirstNameInGroup( nCrvGrpId, AUX_SOLIDS_GRP)
|
||||
CalcAuxSolidsToolPath( nAuxSolidsGrp, nAuxSolidsPathGrp, nTpathGrpId, LayerParams, dCorrZ)
|
||||
else
|
||||
-- costolature
|
||||
local nRibsGrp = EgtGetFirstNameInGroup( nCrvGrpId, RIBS_GRP)
|
||||
CalcRibsToolPath( nRibsGrp, nTpathGrpId, LayerParams, dCorrZ)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
-- solidi ausiliari
|
||||
local nAuxSolidsGrp = EgtGetFirstNameInGroup( vLayIds[nIdx], AUX_SOLIDS_GRP)
|
||||
local nAuxSolidsPathGrp = EgtGetFirstNameInGroup( nCrvGrpId, AUX_SOLIDS_GRP)
|
||||
CalcAuxSolidsToolPath( nAuxSolidsGrp, nAuxSolidsPathGrp, nTpathGrpId, LayerParams, dCorrZ)
|
||||
|
||||
-- costolature
|
||||
local nRibsGrp = EgtGetFirstNameInGroup( nCrvGrpId, RIBS_GRP)
|
||||
CalcRibsToolPath( nRibsGrp, nTpathGrpId, LayerParams, dCorrZ)
|
||||
|
||||
-- passo al gruppo di contorni successivo
|
||||
nCrvGrpId = EgtGetNextName( nCrvGrpId, CONTOUR_GRP.."*")
|
||||
|
||||
Reference in New Issue
Block a user