3dPrinting :

- correzione errore di mancata applicazione reduce shell number con ribs merged shells.
This commit is contained in:
SaraP
2026-06-19 15:21:39 +02:00
parent 191fed7b7b
commit c2a2d696f6
+19 -8
View File
@@ -3142,25 +3142,32 @@ end
local function AdjustRibsMergedExtraShellLink( nLinkId, vExtraShells, nGrp)
local vLinks = {}
-- devo conservare solo i tratti comuni fra link ed extra shell
local _, dE = EgtCurveDomain( nLinkId)
for i = 1, #vExtraShells do
local dParS = EgtCurveParamAtPoint( nLinkId, EgtSP( vExtraShells[i]), 100 * GEO.EPS_SMALL)
local dParE = EgtCurveParamAtPoint( nLinkId, EgtEP( vExtraShells[i]), 100 * GEO.EPS_SMALL)
if dParS or dParE then
local nCrv = EgtCopyGlob( nLinkId, nGrp)
local nCrv
if dParS and dParE then
EgtTrimCurveStartEndAtParam( nCrv, dParS, dParE)
if dParS < dParE then
nCrv = EgtCopyParamRange( nLinkId, dParS, dParE, nGrp)
else
-- ottengo due sottotratti
local nCrv1 = EgtCopyParamRange( nLinkId, dParS, dE, nGrp)
table.insert( vLinks, nCrv1)
nCrv = EgtCopyParamRange( nLinkId, 0, dParE, nGrp)
end
elseif dParS then
EgtTrimCurveStartAtParam( nCrv, dParS)
nCrv = EgtCopyParamRange( nLinkId, dParS, dE, nGrp)
elseif dParE then
EgtTrimCurveEndAtParam( nCrv, dParE)
nCrv = EgtCopyParamRange( nLinkId, 0, dParE, nGrp)
end
EgtModifyCurveExtrusion( nCrv, s_vtSlicing, GDB_ID.ROOT)
table.insert( vLinks, nCrv)
else
-- verifico se il link originale è già corretto
local dPar1 = EgtCurveParamAtPoint( vExtraShells[i], EgtSP( nLinkId), 100 * GEO.EPS_SMALL)
local dPar2 = EgtCurveParamAtPoint( vExtraShells[i], EgtEP( nLinkId), 100 * GEO.EPS_SMALL)
@@ -3172,6 +3179,10 @@ local function AdjustRibsMergedExtraShellLink( nLinkId, vExtraShells, nGrp)
-- cancello il link originale
EgtErase( nLinkId)
-- setto estrusione ai link
for i = 1, #vLinks do
EgtModifyCurveExtrusion( vLinks[i], s_vtSlicing, GDB_ID.ROOT)
end
return vLinks
end