3dPrinting 3.1b1 :

- prime modifiche per slicing Multi Planare.
This commit is contained in:
Dario Sassi
2026-02-11 18:16:46 +01:00
parent bb1ba2b66f
commit eed869c997
6 changed files with 91 additions and 13 deletions
+21 -2
View File
@@ -89,6 +89,11 @@ end
------------------------------------------------------------------
local function AddZCorrection( b3Box, LayerParams)
local nSlicingType = EgtGetInfo( s_nPartId, KEY_SLICING_TYPE, 'i')
if nSlicingType == SLICING_TYPE.MULTIPLANAR then
LayerParams.vtSlicing = Z_AX()
end
local dNxy = sqrt( LayerParams.vtSlicing:getX() * LayerParams.vtSlicing:getX() + LayerParams.vtSlicing:getY() * LayerParams.vtSlicing:getY())
local dNz = LayerParams.vtSlicing:getZ()
-- altezza necessaria per lo strand
@@ -2041,6 +2046,10 @@ local function SpiralVaseFull( vLayIds, LayerParams)
-- ciclo sui layer
for nIdx = 1, #vLayIds do
if nSlicingType == SLICING_TYPE.MULTIPLANAR then
LayerParams.vtSlicing = EgtGetInfo( vLayIds[nIdx], KEY_SLICING_DIR, 'v')
end
-- cerco i gruppi di contorni
local vCrvGrpIds = EgtGetNameInGroup( vLayIds[ nIdx], CONTOUR_GRP.."*")
if #vCrvGrpIds > 1 then
@@ -2244,6 +2253,7 @@ local function SpiralVasePartial( vLayIds, LayerParams)
-- la continuità tra i layers viene risolta sul tratto finale del layer percedente
local bFirst = true
local nSlicingType = EgtGetInfo( s_nPartId, KEY_SLICING_TYPE, 'i')
-- individuo l'ultimo layer ( alcuni potrebbero essere vuoti)
local nLastLay = 1
for nIdx = #vLayIds, 1, -1 do
@@ -2258,7 +2268,11 @@ local function SpiralVasePartial( vLayIds, LayerParams)
-- ciclo sui layer
local nOldId
for nIdx = 1, #vLayIds do
if nSlicingType == SLICING_TYPE.MULTIPLANAR then
LayerParams.vtSlicing = EgtGetInfo( vLayIds[nIdx], KEY_SLICING_DIR, 'v')
end
-- cerco i gruppi di contorni
local vCrvGrpIds = EgtGetNameInGroup( vLayIds[ nIdx], CONTOUR_GRP.."*")
if #vCrvGrpIds > 1 then
@@ -2444,6 +2458,7 @@ function CalcToolPath.Exec( nPartId)
-- recupero i parametri per calcolo dei toolpath
local LayerParams = GetLayerParamsForToolPathCalc()
local nSlicingType = EgtGetInfo( s_nPartId, KEY_SLICING_TYPE, 'i')
-- caso spiral vase
if LayerParams.bSpiralVase then
@@ -2456,7 +2471,11 @@ function CalcToolPath.Exec( nPartId)
for nIdx = 1, #vLayIds do
s_nCurrIdx = nIdx
if nSlicingType == SLICING_TYPE.MULTIPLANAR then
LayerParams.vtSlicing = EgtGetInfo( vLayIds[nIdx], KEY_SLICING_DIR, 'v')
end
-- scorro tutti i gruppi di contorni
local nCrvGrpId = EgtGetFirstNameInGroup( vLayIds[ nIdx], CONTOUR_GRP.."*")
while nCrvGrpId do