diff --git a/LuaLibs/CalcPaths.lua b/LuaLibs/CalcPaths.lua index d3d884f..235d159 100644 --- a/LuaLibs/CalcPaths.lua +++ b/LuaLibs/CalcPaths.lua @@ -511,7 +511,6 @@ end local function TrimRibs( vRibs, nRibsGrp, nSrf, dSrfOffs, vtSlicing) -- costruisco le superfici con cui fare il trim grossolano dei setti - EgtCopyGlob( nSrf, nRibsGrp) local nSrfInt = EgtCopyGlob( nSrf, nRibsGrp) local nSrfExt = EgtCopyGlob( nSrf, nRibsGrp) EgtSurfFrOffset( nSrfInt, dSrfOffs) @@ -553,7 +552,7 @@ end -------------------------------------------------------------------- local function ComputeRibsOrientedOffset( nRibsGrp, dStrand) - + local nOffsGrp = EgtGroup( EgtGetParent( nRibsGrp)) local nCurrRib = EgtGetFirstNameInGroup( nRibsGrp, RIBS_CRV .. '*') @@ -592,12 +591,14 @@ local function ComputeRibsOrientedOffset( nRibsGrp, dStrand) end for k = 0, nShellsNbr - 1 do + local dOffsCurr = dOffs - k * dStrand local nNewId - if bPlusToMinus then - nNewId = EgtOffsetCurveAdv( vIds[i], dOffs - k * dStrand) + if abs( dOffsCurr) < GEO.EPS_SMALL then + nNewId = EgtCopyGlob( vIds[i], nOffsGrp) else - nNewId = EgtOffsetCurveAdv( vIds[i], - dOffs + k * dStrand) + nNewId = EgtOffsetCurveAdv( vIds[i], EgtIf( bPlusToMinus, dOffsCurr, - dOffsCurr)) end + if nNewId then EgtSetName( nNewId, sName) EgtSetInfo( nNewId, KEY_TYPE, TYPE.RIB)