3dPrinting 2.7l1 :
- correzione errore ribs-merged shells.
This commit is contained in:
+23
-11
@@ -3114,26 +3114,38 @@ end
|
||||
|
||||
--------------------------------------------------------------------
|
||||
local function AdjustRibsMergedExtraShellLink( nLinkId, vExtraShells, nGrp)
|
||||
|
||||
local frLoc = Frame3d( ORIG(), s_vtSlicing)
|
||||
local nGrpLoc = EgtGroup( nGrp, frLoc)
|
||||
|
||||
local vLinks = {}
|
||||
|
||||
-- devo conservare solo le intersezioni fra link ed extra shell
|
||||
-- devo conservare solo i tratti comuni fra link ed extra shell
|
||||
for i = 1, #vExtraShells do
|
||||
local nRes, nPntCnt, nCrvCnt = EgtCurveCurveInters( nLinkId, vExtraShells[i], nGrpLoc)
|
||||
if nRes then
|
||||
for nId = nRes + nPntCnt, nRes + nPntCnt + nCrvCnt - 1 do
|
||||
EgtRelocateGlob( nId, nGrp)
|
||||
EgtModifyCurveExtrusion( nId, s_vtSlicing, GDB_ID.ROOT)
|
||||
table.insert( vLinks, nId)
|
||||
|
||||
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)
|
||||
if dParS and dParE then
|
||||
EgtTrimCurveStartEndAtParam( nCrv, dParS, dParE)
|
||||
elseif dParS then
|
||||
EgtTrimCurveStartAtParam( nCrv, dParS)
|
||||
elseif dParE then
|
||||
EgtTrimCurveEndAtParam( nCrv, dParE)
|
||||
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)
|
||||
if dPar1 and dPar2 then
|
||||
return { nLinkId}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- cancello il link originale
|
||||
EgtErase( nLinkId)
|
||||
EgtErase( nGrpLoc)
|
||||
return vLinks
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user