3dPrinting :
- correzione errore di mancata applicazione reduce shell number con ribs merged shells.
This commit is contained in:
+19
-8
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user